Plugins/VcsPlugins/vcsMercurial/hg.py

changeset 5322
c2cabdca0734
parent 5319
a512d3951a13
child 5328
9c11e9285a46
diff -r 07b4da7d6833 -r c2cabdca0734 Plugins/VcsPlugins/vcsMercurial/hg.py
--- a/Plugins/VcsPlugins/vcsMercurial/hg.py	Mon Nov 14 19:24:11 2016 +0100
+++ b/Plugins/VcsPlugins/vcsMercurial/hg.py	Mon Nov 14 19:58:22 2016 +0100
@@ -3588,11 +3588,13 @@
         
         return self.bookmarksList[:]
     
-    def hgBookmarkDefine(self, name):
+    def hgBookmarkDefine(self, name, revision=None, bookmark=None):
         """
         Public method to define a bookmark.
         
         @param name file/directory name (string)
+        @param revision revision to set bookmark for (string)
+        @param bookmark name of the bookmark (string)
         """
         # find the root of the repo
         repodir = self.splitPath(name)[0]
@@ -3601,18 +3603,25 @@
             if os.path.splitdrive(repodir)[1] == os.sep:
                 return
         
-        from .HgBookmarkDialog import HgBookmarkDialog
-        dlg = HgBookmarkDialog(HgBookmarkDialog.DEFINE_MODE,
-                               self.hgGetTagsList(repodir),
-                               self.hgGetBranchesList(repodir),
-                               self.hgGetBookmarksList(repodir))
-        if dlg.exec_() == QDialog.Accepted:
-            rev, bookmark = dlg.getData()
-            
+        if bool(revision) and bool(bookmark):
+            ok = True
+        else:
+            from .HgBookmarkDialog import HgBookmarkDialog
+            dlg = HgBookmarkDialog(HgBookmarkDialog.DEFINE_MODE,
+                                   self.hgGetTagsList(repodir),
+                                   self.hgGetBranchesList(repodir),
+                                   self.hgGetBookmarksList(repodir))
+            if dlg.exec_() == QDialog.Accepted:
+                revision, bookmark = dlg.getData()
+                ok = True
+            else:
+                ok = False
+        
+        if ok:
             args = self.initCommand("bookmarks")
-            if rev:
+            if revision:
                 args.append("--rev")
-                args.append(rev)
+                args.append(revision)
             args.append(bookmark)
             
             dia = HgDialog(self.tr('Mercurial Bookmark'), self)
@@ -3677,11 +3686,13 @@
             if res:
                 dia.exec_()
     
-    def hgBookmarkMove(self, name):
+    def hgBookmarkMove(self, name, revision=None, bookmark=None):
         """
         Public method to move a bookmark.
         
         @param name file/directory name (string)
+        @param revision revision to set bookmark for (string)
+        @param bookmark name of the bookmark (string)
         """
         # find the root of the repo
         repodir = self.splitPath(name)[0]
@@ -3690,19 +3701,26 @@
             if os.path.splitdrive(repodir)[1] == os.sep:
                 return
         
-        from .HgBookmarkDialog import HgBookmarkDialog
-        dlg = HgBookmarkDialog(HgBookmarkDialog.MOVE_MODE,
-                               self.hgGetTagsList(repodir),
-                               self.hgGetBranchesList(repodir),
-                               self.hgGetBookmarksList(repodir))
-        if dlg.exec_() == QDialog.Accepted:
-            rev, bookmark = dlg.getData()
-            
+        if bool(revision) and bool(bookmark):
+            ok = True
+        else:
+            from .HgBookmarkDialog import HgBookmarkDialog
+            dlg = HgBookmarkDialog(HgBookmarkDialog.MOVE_MODE,
+                                   self.hgGetTagsList(repodir),
+                                   self.hgGetBranchesList(repodir),
+                                   self.hgGetBookmarksList(repodir))
+            if dlg.exec_() == QDialog.Accepted:
+                revision, bookmark = dlg.getData()
+                ok = True
+            else:
+                ok = False
+        
+        if ok:
             args = self.initCommand("bookmarks")
             args.append("--force")
-            if rev:
+            if revision:
                 args.append("--rev")
-                args.append(rev)
+                args.append(revision)
             args.append(bookmark)
             
             dia = HgDialog(self.tr('Move Mercurial Bookmark'), self)

eric ide

mercurial