--- a/Plugins/VcsPlugins/vcsMercurial/hg.py Sat Feb 11 18:19:56 2017 +0100 +++ b/Plugins/VcsPlugins/vcsMercurial/hg.py Sat Feb 11 19:47:41 2017 +0100 @@ -1934,17 +1934,22 @@ self.logBrowserOutgoing.raise_() self.logBrowserOutgoing.start(name) - def hgPull(self, name): + def hgPull(self, name, revisions=None): """ Public method used to pull changes from a remote Mercurial repository. - @param name directory name of the project to be pulled to (string) + @param name directory name of the project to be pulled to + @type str + @param revisions list of revisions to be pulled + @type list of str @return flag indicating, that the update contained an add - or delete (boolean) + or delete + @rtype bool """ if self.getPlugin().getPreferences("PreferUnbundle") and \ self.bundleFile and \ - os.path.exists(self.bundleFile): + os.path.exists(self.bundleFile) and \ + revisions is None: command = "unbundle" title = self.tr('Apply changegroups') else: @@ -1957,6 +1962,10 @@ args.append('--update') if command == "unbundle": args.append(self.bundleFile) + if revisions: + for rev in revisions: + args.append("--rev") + args.append(rev) # find the root of the repo repodir = self.splitPath(name)[0]