82 if version == "WORKING": |
82 if version == "WORKING": |
83 return None |
83 return None |
84 else: |
84 else: |
85 return str(version) |
85 return str(version) |
86 |
86 |
87 def start(self, fn, versions=None, bundle=None): |
87 def start(self, fn, versions=None, bundle=None, qdiff=False): |
88 """ |
88 """ |
89 Public slot to start the hg diff command. |
89 Public slot to start the hg diff command. |
90 |
90 |
91 @param fn filename to be diffed (string) |
91 @param fn filename to be diffed (string) |
92 @param versions list of versions to be diffed (list of up to 2 strings or None) |
92 @param versions list of versions to be diffed (list of up to 2 strings or None) |
93 @param bundle name of a bundle file (string) |
93 @param bundle name of a bundle file (string) |
|
94 @param qdiff flag indicating qdiff command shall be used (boolean) |
94 """ |
95 """ |
95 self.errorGroup.hide() |
96 self.errorGroup.hide() |
96 self.inputGroup.show() |
97 self.inputGroup.show() |
97 self.intercept = False |
98 self.intercept = False |
98 self.filename = fn |
99 self.filename = fn |
101 |
102 |
102 self.contents.clear() |
103 self.contents.clear() |
103 self.paras = 0 |
104 self.paras = 0 |
104 |
105 |
105 args = [] |
106 args = [] |
106 args.append('diff') |
107 if qdiff: |
107 self.vcs.addArguments(args, self.vcs.options['global']) |
108 args.append('qdiff') |
108 self.vcs.addArguments(args, self.vcs.options['diff']) |
109 self.setWindowTitle(self.trUtf8("Patch Contents")) |
109 |
110 else: |
110 if bundle: |
111 args.append('diff') |
111 args.append('--repository') |
112 self.vcs.addArguments(args, self.vcs.options['global']) |
112 args.append(bundle) |
113 self.vcs.addArguments(args, self.vcs.options['diff']) |
113 elif self.vcs.bundleFile and os.path.exists(self.vcs.bundleFile): |
|
114 args.append('--repository') |
|
115 args.append(self.vcs.bundleFile) |
|
116 |
|
117 if versions is not None: |
|
118 self.raise_() |
|
119 self.activateWindow() |
|
120 |
114 |
121 rev1 = self.__getVersionArg(versions[0]) |
115 if bundle: |
122 rev2 = None |
116 args.append('--repository') |
123 if len(versions) == 2: |
117 args.append(bundle) |
124 rev2 = self.__getVersionArg(versions[1]) |
118 elif self.vcs.bundleFile and os.path.exists(self.vcs.bundleFile): |
|
119 args.append('--repository') |
|
120 args.append(self.vcs.bundleFile) |
125 |
121 |
126 if rev1 is not None or rev2 is not None: |
122 if versions is not None: |
127 args.append('-r') |
123 self.raise_() |
128 if rev1 is not None and rev2 is not None: |
124 self.activateWindow() |
129 args.append('{0}:{1}'.format(rev1, rev2)) |
125 |
130 elif rev2 is None: |
126 rev1 = self.__getVersionArg(versions[0]) |
131 args.append(rev1) |
127 rev2 = None |
132 elif rev1 is None: |
128 if len(versions) == 2: |
133 args.append(':{0}'.format(rev2)) |
129 rev2 = self.__getVersionArg(versions[1]) |
|
130 |
|
131 if rev1 is not None or rev2 is not None: |
|
132 args.append('-r') |
|
133 if rev1 is not None and rev2 is not None: |
|
134 args.append('{0}:{1}'.format(rev1, rev2)) |
|
135 elif rev2 is None: |
|
136 args.append(rev1) |
|
137 elif rev1 is None: |
|
138 args.append(':{0}'.format(rev2)) |
134 |
139 |
135 if isinstance(fn, list): |
140 if isinstance(fn, list): |
136 dname, fnames = self.vcs.splitPathList(fn) |
141 dname, fnames = self.vcs.splitPathList(fn) |
137 self.vcs.addArguments(args, fn) |
142 self.vcs.addArguments(args, fn) |
138 else: |
143 else: |