diff -r 9584e91c9857 -r d157a2319073 Plugins/VcsPlugins/vcsMercurial/hg.py --- a/Plugins/VcsPlugins/vcsMercurial/hg.py Wed Feb 08 19:12:36 2017 +0100 +++ b/Plugins/VcsPlugins/vcsMercurial/hg.py Wed Feb 08 19:24:21 2017 +0100 @@ -1010,11 +1010,14 @@ return res - def vcsMerge(self, name): + def vcsMerge(self, name, rev=""): """ Public method used to merge a URL/revision into the local project. - @param name file/directory name to be merged (string) + @param name file/directory name to be merged + @type str + @keyparam rev revision to merge with + @type str """ dname, fname = self.splitPath(name) @@ -1025,14 +1028,17 @@ if os.path.splitdrive(repodir)[1] == os.sep: return - from .HgMergeDialog import HgMergeDialog - dlg = HgMergeDialog(self.hgGetTagsList(repodir), - self.hgGetBranchesList(repodir), - self.hgGetBookmarksList(repodir)) - if dlg.exec_() == QDialog.Accepted: - rev, force = dlg.getParameters() + if not rev: + from .HgMergeDialog import HgMergeDialog + dlg = HgMergeDialog(self.hgGetTagsList(repodir), + self.hgGetBranchesList(repodir), + self.hgGetBookmarksList(repodir)) + if dlg.exec_() == QDialog.Accepted: + rev, force = dlg.getParameters() + else: + return else: - return + force = False args = self.initCommand("merge") if force: