170 finished = process.waitForFinished(30000) |
171 finished = process.waitForFinished(30000) |
171 if finished and process.exitCode() == 0: |
172 if finished and process.exitCode() == 0: |
172 output = \ |
173 output = \ |
173 str(process.readAllStandardOutput(), ioEncoding, 'replace') |
174 str(process.readAllStandardOutput(), ioEncoding, 'replace') |
174 self.versionStr = output.split()[2] |
175 self.versionStr = output.split()[2] |
|
176 v = list(re.match(r'.*?(\d+)\.(\d+)\.?(\d+)?', self.versionStr).groups()) |
|
177 for i in range(3): |
|
178 try: |
|
179 v[i] = int(v[i]) |
|
180 except TypeError: |
|
181 v[i] = 0 |
|
182 except IndexError: |
|
183 v.append(0) |
|
184 self.version = tuple(v) |
175 return True, errMsg |
185 return True, errMsg |
176 else: |
186 else: |
177 if finished: |
187 if finished: |
178 errMsg = \ |
188 errMsg = \ |
179 self.trUtf8("The svn process finished with the exit code {0}")\ |
189 self.trUtf8("The svn process finished with the exit code {0}")\ |
508 """ |
518 """ |
509 args = [] |
519 args = [] |
510 args.append('update') |
520 args.append('update') |
511 self.addArguments(args, self.options['global']) |
521 self.addArguments(args, self.options['global']) |
512 self.addArguments(args, self.options['update']) |
522 self.addArguments(args, self.options['update']) |
513 if self.versionStr >= '1.5.0': |
523 if self.version >= (1, 5, 0): |
514 args.append('--accept') |
524 args.append('--accept') |
515 args.append('postpone') |
525 args.append('postpone') |
516 if isinstance(name, list): |
526 if isinstance(name, list): |
517 dname, fnames = self.splitPathList(name) |
527 dname, fnames = self.splitPathList(name) |
518 self.addArguments(args, fnames) |
528 self.addArguments(args, fnames) |
956 url = self.__svnURL(tag) |
966 url = self.__svnURL(tag) |
957 tn = url |
967 tn = url |
958 |
968 |
959 args = [] |
969 args = [] |
960 args.append('switch') |
970 args.append('switch') |
961 if self.versionStr >= '1.5.0': |
971 if self.version >= (1, 5, 0): |
962 args.append('--accept') |
972 args.append('--accept') |
963 args.append('postpone') |
973 args.append('postpone') |
964 args.append(url) |
974 args.append(url) |
965 args.append(name) |
975 args.append(name) |
966 |
976 |
1004 rx_rev = QRegExp('\\d+|HEAD') |
1014 rx_rev = QRegExp('\\d+|HEAD') |
1005 |
1015 |
1006 args = [] |
1016 args = [] |
1007 args.append('merge') |
1017 args.append('merge') |
1008 self.addArguments(args, opts) |
1018 self.addArguments(args, opts) |
1009 if self.versionStr >= '1.5.0': |
1019 if self.version >= (1, 5, 0): |
1010 args.append('--accept') |
1020 args.append('--accept') |
1011 args.append('postpone') |
1021 args.append('postpone') |
1012 if force: |
1022 if force: |
1013 args.append('--force') |
1023 args.append('--force') |
1014 if rx_rev.exactMatch(urlrev1): |
1024 if rx_rev.exactMatch(urlrev1): |
1314 Public method used to resolve conflicts of a file/directory. |
1324 Public method used to resolve conflicts of a file/directory. |
1315 |
1325 |
1316 @param name file/directory name to be resolved (string) |
1326 @param name file/directory name to be resolved (string) |
1317 """ |
1327 """ |
1318 args = [] |
1328 args = [] |
1319 if self.versionStr >= '1.5.0': |
1329 if self.version >= (1, 5, 0): |
1320 args.append('resolve') |
1330 args.append('resolve') |
1321 args.append('--accept') |
1331 args.append('--accept') |
1322 args.append('working') |
1332 args.append('working') |
1323 else: |
1333 else: |
1324 args.append('resolved') |
1334 args.append('resolved') |