Plugins/VcsPlugins/vcsMercurial/HgLogBrowserDialog.py

changeset 213
42bb97ff0bbb
parent 210
b1a204f22291
child 215
e8978dca44af
--- a/Plugins/VcsPlugins/vcsMercurial/HgLogBrowserDialog.py	Wed Apr 28 17:59:38 2010 +0000
+++ b/Plugins/VcsPlugins/vcsMercurial/HgLogBrowserDialog.py	Fri Apr 30 13:48:03 2010 +0000
@@ -40,12 +40,13 @@
     MessageColumn  = 5
     TagsColumn     = 6
     
-    def __init__(self, vcs, mode = "log", parent = None):
+    def __init__(self, vcs, mode = "log", bundle = None, parent = None):
         """
         Constructor
         
         @param vcs reference to the vcs object
-        @param mode mode of the dialog (string; one of log, incoming, outgoing)
+        @param mode mode of the dialog (string; one of log, incoming, outgoing)
+        @param bundle name of a bundle file (string)
         @param parent parent widget (QWidget)
         """
         QDialog.__init__(self, parent)
@@ -61,7 +62,8 @@
         if mode in ("log", "incoming", "outgoing"):
             self.commandMode = mode
         else:
-            self.commandMode = "log"
+            self.commandMode = "log"
+        self.bundle = bundle
         
         self.__maxDate = QDate()
         self.__minDate = QDate()
@@ -292,9 +294,13 @@
         process = QProcess()
         args = []
         args.append("parents")
-        if self.commandMode == "incoming" and self.vcs.bundleFile:
-            args.append("--repository")
-            args.append(self.vcs.bundleFile)
+        if self.commandMode == "incoming":
+            if self.bundle:
+                args.append("--repository")
+                args.append(self.bundle)
+            elif self.vcs.bundleFile:
+                args.append("--repository")
+                args.append(self.vcs.bundleFile)
         args.append("--template")
         args.append("{rev}\n")
         args.append("-r")
@@ -452,12 +458,15 @@
             args.append('--copies')
         args.append('--style')
         args.append(os.path.join(os.path.dirname(__file__), "styles", "logBrowser.style"))
-        if self.commandMode == "incoming":
-            project = e5App().getObject("Project")
-            self.vcs.bundleFile = os.path.join(
-                project.getProjectManagementDir(), "hg-bundle.hg")
-            args.append('--bundle')
-            args.append(self.vcs.bundleFile)
+        if self.commandMode == "incoming":
+            if self.bundle:
+                args.append(self.bundle)
+            else:
+                project = e5App().getObject("Project")
+                self.vcs.bundleFile = os.path.join(
+                    project.getProjectManagementDir(), "hg-bundle.hg")
+                args.append('--bundle')
+                args.append(self.vcs.bundleFile)
         if not self.projectMode:
             args.append(self.filename)
         
@@ -688,7 +697,7 @@
             del self.diff
         self.diff = HgDiffDialog(self.vcs)
         self.diff.show()
-        self.diff.start(self.filename, [rev1, rev2])
+        self.diff.start(self.filename, [rev1, rev2], self.bundle)
     
     def on_buttonBox_clicked(self, button):
         """

eric ide

mercurial