Kiln » TortoiseHg » TortoiseHg
Clone URL:  
Pushed to one repository · View In Graph Contained in 0.9, 0.9.1, and 0.9.1.1

status: allow selecting the mergetool for resolving

Changeset 3b1b4433b339

Parent ec2e14436f2e

by Simon Heimberg

Changes to one file · Browse files at 3b1b4433b339 Showing diff from parent ec2e14436f2e Diff from another changeset...

Change 1 of 3 Show Entire File hggtk/​status.py Stacked
 
1230
1231
1232
 
1233
1234
1235
 
1270
1271
1272
 
 
 
 
 
 
 
 
 
 
1273
1274
1275
 
1301
1302
1303
1304
 
1305
1306
 
 
 
 
 
 
 
 
 
 
1307
1308
1309
 
1230
1231
1232
1233
1234
1235
1236
 
1271
1272
1273
1274
1275
1276
1277
1278
1279
1280
1281
1282
1283
1284
1285
1286
 
1312
1313
1314
 
1315
1316
1317
1318
1319
1320
1321
1322
1323
1324
1325
1326
1327
1328
1329
1330
@@ -1230,6 +1230,7 @@
  item.connect('activate', handler, files)   item.set_border_width(1)   menu.append(item) + return files     def vdiff(menuitem, files):   self._do_diff(files, self.opts) @@ -1270,6 +1271,16 @@
  ms = merge_.mergestate(self.repo)   ms.resolve(util.pconvert(wfile), wctx, mctx)   self.reload_status() + def resolve_with(stat, tool, files): + if tool: + oldmergeenv = os.environ.get('HGMERGE') + os.environ['HGMERGE'] = tool + resolve(stat, files) + if tool: + if oldmergeenv: + os.environ['HGMERGE'] = oldmergeenv + else: + del os.environ['HGMERGE']   def rename(menuitem, files):   self.rename_file(files[0])   def copy(menuitem, files): @@ -1301,9 +1312,19 @@
  if len(all) == 1:   make(_('_copy'), copy, 'MC')   make(_('rename'), rename, 'MC') - make(_('restart merge'), resolve, 'u') + f = make(_('restart merge'), resolve, 'u')   make(_('mark unresolved'), unmark, 'r')   make(_('mark resolved'), mark, 'u') + if f: + rmenu = gtk.Menu() + for tool in hglib.mergetools(self.ui): + item = gtk.MenuItem(tool, True) + item.connect('activate', resolve_with, tool, f) + item.set_border_width(1) + rmenu.append(item) + item = gtk.MenuItem(_('restart merge with'), True) + item.set_submenu(rmenu) + menu.append(item)     for label, func, stats in self.get_custom_menus():   make(label, func, stats)