Plugins/VcsPlugins/vcsMercurial/HgDiffDialog.py

changeset 1034
8a7fa049e9d3
parent 945
8cd4d08fa9f6
child 1131
7781e396c903
equal deleted inserted replaced
1033:bfc17ed5ab1a 1034:8a7fa049e9d3
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:

eric ide

mercurial