-----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1
This patch improves the flexibility of the conflict dialogue setting for starting an external conflict util. It no longer uses a list argument for popen because this constrains you into using MSVC style args on Windows, and not all applications support this. Instead, you are permitted substitutions for $base $this $other $merged More subs would be good too (window titles, etc). If $ character is not detected in command line, it appends the standard args internally. Use cases * TortoiseMerge * Requires merge target path * Requires arguments in the /merged:"quoted path" style which popen cannot generate * e.g. tortoisemerge.exe /base:$base /theirs:$other /mine:$this /merged:$merged * Beyond Compare 3 * Requires merge target path * e.g. BCompare.exe $other $this $base $merged (resend of earlier merge, languishing in the non-subscribers bin) -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.4.7 (MingW32) Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org iD8DBQFIEMbncP1uebIhWSYRAq70AJ9Am2oH2dXHyjOnuo3FadSW/P0clACeKEwV 0dPVEwzm50W24pNxQkrUXiw= =8G71 -----END PGP SIGNATURE-----
# Bazaar merge directive format 2 (Bazaar 0.90) # revision_id: [EMAIL PROTECTED] # iylhzjaz5g9e0pdq # target_branch: http://bazaar.launchpad.net/%7Ebzr-gtk/bzr-gtk/trunk/ # testament_sha1: 6133e36a8a511e0e33d55a07b64cdbbfca707bfc # timestamp: 2008-04-23 15:23:13 +0100 # base_revision_id: [EMAIL PROTECTED] # vr1kbqqg4sg5ayzq # # Begin patch === modified file 'conflicts.py' --- conflicts.py 2008-03-07 15:56:36 +0000 +++ conflicts.py 2008-04-23 13:51:18 +0000 @@ -25,11 +25,14 @@ import gtk import gobject +from bzrlib import osutils from bzrlib.config import GlobalConfig from dialog import error_dialog, warning_dialog from errors import show_bzr_error +from string import Template + class ConflictsDialog(gtk.Dialog): """ This dialog displays the list of conflicts. """ def __init__(self, wt, parent=None): @@ -164,11 +167,19 @@ _('Please select a file from the list.')) return elif self._get_selected_type() == 'text conflict': - base = self.wt.abspath(selected) + '.BASE' - this = self.wt.abspath(selected) + '.THIS' - other = self.wt.abspath(selected) + '.OTHER' + base = osutils.quotefn(self.wt.abspath(selected) + '.BASE') + this = osutils.quotefn(self.wt.abspath(selected) + '.THIS') + other = osutils.quotefn(self.wt.abspath(selected) + '.OTHER') + merged = osutils.quotefn(self.wt.abspath(selected)) try: - p = subprocess.Popen([ self._entry_diff3.get_text(), base, this, other ]) + args = self._entry_diff3.get_text() + + if args.find("$") == -1: + args = args + " $base $this $other" + + args = Template(self._entry_diff3.get_text()) + args = args.substitute(base=base, this=this, other=other, merged=merged) + p = subprocess.Popen(args) p.wait() except OSError, e: warning_dialog(_('Call to external utility failed'), str(e)) # Begin bundle IyBCYXphYXIgcmV2aXNpb24gYnVuZGxlIHY0CiMKQlpoOTFBWSZTWYIkFbAAAg7/gAB0QABV//// cmDcoL////BQBW9d24wXTpXQOnR0IZITUwjTamJHqehPU9TTI0aZGRpo00xGjQSUCMBU/U9VPyoD IAaAADQ0AAGk9SMVPMqaGT0IxMmTQwAmnoTTJhDDmjJiYAJiMCNMCDEYJkwCMEkjQhMENCT9FT9T 0p40jEam0NRpiaBoHgItG6aet4b1Q/W8NpvPlySJUp1eoRyJGjpDGELErssW6RbHlrenTpnDqptB IoAMHHG/LTpIjSWiqphk7jigGpyFEO7YaOD1l0qxKywsTrasIy6pVsyzKnThLhIoUj3MLrH/9xte s02wlcnHlJBT3NU0vHGJZljj374SMUCqPkdGEbPlqcQRq595LGs6Mw5usfvEuq6QGvHH4tbR9gQW m1X+12irpmRT3Ui82W6SyulYAtXUJoT52+6zRcoCqGZhCIS6d/ktceclgz2JG+osxH9BAR5lgr4e pbXwLG4moP7SL5cBgMkphgQwxz/RF1dEF7Y9wKXH0rWRccgkUKmEPuPaTrxIl3fYYCs88CDBe0b9 DuUu/AuNmHU1aL5RKptlbgamozmmKBlP6fBlyxQoPWnLVQiCuVoLJFTHhEaVtq40jAfuJw9Z9cCb 2CzXRzSpBjiKRsTHB6DcyeJSnOhFNFfkG8B+xmgUXlP8JpfJMpvJUNqt2UCxMzsbqxFjF1Km++7L LolJ0mle+LiHkRiwMiXwbmttNTaWmWqy6ITlWPgbBWOzMTrVE95QJR5Hku9hfBhgmQDPDvcCbFyZ FhTSYvTx1i6tbCHKKyLaKCVJIqDBmZuXh7H+v8DVBPY1Pt9v3eYtJA0q5DY+MtwU5jhNd1YZyJ2f HoNqa49Ae4F7ao3GD6GSebz38IXot8CbNm1ArShGV9uHxInbHzlBv8jADMzOeIOPmnGYaxu8J3DU Gqs+mSzhvBiS70rj4mZ4nuJ6ImohX9eg8jj1TwaHakaA0822BMGCpqXdkYsiwy2jqCaoJQvPeU8I YVx8RWPVcKwX2kzSYcgESn78uMtxXH4AyDADrHLBqAj8bSvYej8S65wx3dQ4PVnDWxUDYa2IhMR5 mejBVL+rjJol18F3NGN6DXSRaoYhTZnVoZkn8SuBKSJZVbPhMTnWfI9peOXlRzoOWSGDd9OyFG1h WDQSc98UcluX0MBZ9gtyC0+6RriKxl9/nBdhlvBi8ICxZB+LL4bxZCjWgjXGFrtAOoLJHn1olrSO Aesn/n/JQF0McAZT3BOvTjeWN20A9/KlswLSgu0DnFmLVyFOGIvLJ+BTT4Ls3Wm/MLgJJFi7jVEO YW5wF8xX0cKFFcwDacbX8WR1xhFbRhHgkHVRghlSVJ5/idnz5dYg+qCGPPuKYaMo7SxhJjmAWiik 6qIyaKGYcTJP6YxZkpIGZJlPMyJMdCRUynxZL0u4RKT+TBXNhwhpiuAOt8kZozzahknLBaEFzutv 3r1JXUAjx0g2iFCVAgplGSKII0ZzGN7B+EDyVSkF/EL0xdCCOpMQDhSURuxkYeqvFlGtEgBsAKcX wsWt7icRTkmqIMMTG6PY50kOoINFeHdEeZOdUpa98XVAhKbjU0MKNDN0zDd4bMRycyYZNOzmNgIQ osBcKppMGrrMGzR8BukbWIY+tnZ7o/z3m4Nm2g5YbTBnZsml3hpC19+x9pYWzCAnQ3rO7ujKTWFy TmSg8cDTlFRCaZliDFTKS+IxFmsJhy7enQuaJFoZNBmCDDFqrNe4Dadq4pSGDy2E9cCCOW20hlA6 1CDLaLTMRA69TBS8am/c/4u5IpwoSEESCtgA
gtk-465.patch.sig
Description: Binary data
-- bzr-gtk mailing list [email protected] Modify settings or unsubscribe at: https://lists.canonical.com/mailman/listinfo/bzr-gtk
