# HG changeset patch
# User Simon Heimberg <[email protected]>
# Date 1242813515 -7200
# Node ID 6bfd63beab2aa114edecb6c1c0d801da3db54907
# Parent 33acf9764dafc3a10b2e124f9491846a474c2ef9
merge: allow to force the merge tool
diff -r 33acf9764daf -r 6bfd63beab2a hggtk/merge.py
--- a/hggtk/merge.py Mit Mai 20 08:39:51 2009 +0200
+++ b/hggtk/merge.py Mit Mai 20 11:58:35 2009 +0200
@@ -87,6 +87,18 @@
hbbox.add(undo)
hbbox.add(close)
+ vlist = gtk.ListStore(str, bool)
+ combo = gtk.ComboBoxEntry(vlist, 0)
+ self.mergetool = combo
+ combo.set_row_separator_func(lambda model, path: model[path][1])
+ combo.child.set_width_chars(8)
+ lbl = gtk.Label(_('mergetool:'))
+ hbbox.add(lbl)
+ hbbox.add(combo)
+ vlist.append(('', False))
+ for tool in hglib.mergetools(repo.ui):
+ vlist.append((hglib.toutf(tool), False))
+
commit.connect('clicked', self.commit)
undo.connect('clicked', self.undo, local, merge, commit)
merge.connect('clicked', self.merge, other, commit, undo)
@@ -98,15 +110,25 @@
def merge(self, button, other, commit, undo):
cmdline = ['hg', 'merge', '--rev', other]
+ tool = hglib.fromutf(self.mergetool.child.get_text())
+ if tool:
+ oldmergeenv = os.environ.get('HGMERGE')
+ os.environ['HGMERGE'] = tool
dlg = hgcmd.CmdDialog(cmdline)
dlg.run()
dlg.hide()
repo = hg.repository(ui.ui(), path=paths.find_root())
if len(repo.parents()) == 1:
return
+ if tool:
+ if oldmergeenv:
+ os.environ['HGMERGE'] = oldmergeenv
+ else:
+ del os.environ['HGMERGE']
if self.notify_func:
self.notify_func(self.notify_args)
button.set_sensitive(False)
+ self.mergetool.set_sensitive(False)
undo.set_sensitive(True)
commit.set_sensitive(True)
commit.grab_focus()
@@ -141,6 +163,7 @@
button.set_sensitive(False)
commit.set_sensitive(False)
merge.set_sensitive(True)
+ self.mergetool.set_sensitive(True)
merge.grab_focus()
def run(ui, *pats, **opts):
------------------------------------------------------------------------------
Let Crystal Reports handle the reporting - Free Crystal Reports 2008 30-Day
trial. Simplify your report design, integration and deployment - and focus on
what you do best, core application coding. Discover what's new with
Crystal Reports now. http://p.sf.net/sfu/bobj-july
_______________________________________________
Tortoisehg-develop mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/tortoisehg-develop