To fullfill wishlist bug 124760.Note: Uses default_branch_path.partition('file://')[2] because .strip('file://') removes the third / as well which breaks any POSIX path. :)
Jasper
# Bazaar merge directive format 2 (Bazaar 0.90) # revision_id: [EMAIL PROTECTED] # target_branch: https://code.launchpad.net/~bzr-gtk/bzr-gtk/trunk # testament_sha1: a56b08915d5b6e8f6e51470c6b2ba1d14f8e996c # timestamp: 2008-07-25 17:43:47 +0200 # source_branch: https://code.launchpad.net/~bzr-gtk/bzr-gtk/trunk # base_revision_id: [EMAIL PROTECTED] # # Begin patch === modified file '__init__.py' --- __init__.py 2008-07-04 08:05:17 +0000 +++ __init__.py 2008-07-25 15:42:45 +0000 @@ -22,6 +22,7 @@ gconflicts GTK+ conflicts. gdiff Show differences in working tree in a GTK+ Window. ginit Initialise a new branch. +gmerge GTK+ merge dialog gmissing GTK+ missing revisions dialog. gpreferences GTK+ preferences dialog. gpush GTK+ push. @@ -451,6 +452,29 @@ dialog.run() +class cmd_gmerge(Command): + """ GTK+ merge dialog + + """ + takes_args = ["merge_from_path?"] + def run(self, merge_from_path=None): + from bzrlib import workingtree + from bzrlib.plugins.gtk.dialog import error_dialog + from bzrlib.plugins.gtk.merge import MergeDialog + + (wt, path) = workingtree.WorkingTree.open_containing('.') + old_tree = wt.branch.repository.revision_tree(wt.branch.last_revision()) + delta = wt.changes_from(old_tree) + if len(delta.added) or len(delta.removed) or len(delta.renamed) or len(delta.modified): + error_dialog(_i18n('There are local changes in the branch'), + _i18n('Please commit or revert the changes before merging.')) + else: + parent_branch_path = wt.branch.get_parent() + merge = MergeDialog(wt, path, parent_branch_path) + response = merge.run() + merge.destroy() + + class cmd_gmissing(Command): """ GTK+ missing revisions dialog. @@ -514,6 +538,7 @@ cmd_gconflicts, cmd_gdiff, cmd_ginit, + cmd_gmerge, cmd_gmissing, cmd_gpreferences, cmd_gpush, === modified file 'merge.py' --- merge.py 2008-07-18 18:21:26 +0000 +++ merge.py 2008-07-25 15:42:45 +0000 @@ -46,7 +46,10 @@ self.wt = wt self.wtpath = wtpath - directory = os.path.dirname(self.wt.abspath(self.wtpath)) + if default_branch_path and os.path.isdir(default_branch_path.partition('file://')[2]): + directory = default_branch_path.partition('file://')[2] + else: + directory = os.path.dirname(self.wt.abspath(self.wtpath)) # Create widgets self._hbox = gtk.HBox() # Begin bundle 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 97A=
signature.asc
Description: OpenPGP digital signature
-- bzr-gtk mailing list [email protected] Modify settings or unsubscribe at: https://lists.canonical.com/mailman/listinfo/bzr-gtk
