Plugins/VcsPlugins/vcsMercurial/HgLogDialog.py

changeset 213
42bb97ff0bbb
parent 212
19785b4c1bed
child 214
eb1cf9398a3f
--- a/Plugins/VcsPlugins/vcsMercurial/HgLogDialog.py	Wed Apr 28 17:59:38 2010 +0000
+++ b/Plugins/VcsPlugins/vcsMercurial/HgLogDialog.py	Fri Apr 30 13:48:03 2010 +0000
@@ -28,12 +28,13 @@
     The dialog is nonmodal. Clicking a link in the upper text pane shows 
     a diff of the revisions.
     """
-    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 bundle name of a bundle file (string)
         @param parent parent widget (QWidget)
         """
         QWidget.__init__(self, parent)
@@ -47,6 +48,7 @@
             self.mode = mode
         else:
             self.mode = "log"
+        self.bundle = bundle
         
         self.contents.setHtml(\
             self.trUtf8('<b>Processing your request, please wait...</b>'))
@@ -129,11 +131,14 @@
         args.append('--style')
         args.append(os.path.join(os.path.dirname(__file__), "styles", "logDialog.style"))
         if self.mode == "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.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)
         
@@ -163,13 +168,13 @@
         process = QProcess()
         args = []
         args.append("parents")
-        if self.mode == "incoming" and self.vcs.bundleFile:
-            args.append("--repository")
-            args.append(self.vcs.bundleFile)
-        args.append("--template")
-        args.append("{rev}:{node|short}\n")
-        args.append("-r")
-        args.append(rev)
+        if self.mode == "incoming":
+            if self.bundle:
+                args.append("--repository")
+                args.append(self.bundle)
+            elif self.vcs.bundleFile:
+                args.append("--repository")
+                args.append(self.vcs.bundleFile)
         if not self.projectMode:
             args.append(self.filename)
         
@@ -369,7 +374,7 @@
             del self.diff
         self.diff = HgDiffDialog(self.vcs)
         self.diff.show()
-        self.diff.start(filename, [v1, v2])
+        self.diff.start(filename, [v1, v2], self.bundle)
     
     def on_passwordCheckBox_toggled(self, isOn):
         """

eric ide

mercurial