Sat, 03 Sep 2011 17:10:22 +0200
Fixed the treatment of the Subversion version number.
--- a/Plugins/VcsPlugins/vcsPySvn/SvnStatusDialog.py Sat Sep 03 16:41:44 2011 +0200 +++ b/Plugins/VcsPlugins/vcsPySvn/SvnStatusDialog.py Sat Sep 03 17:10:22 2011 +0200 @@ -95,7 +95,7 @@ self.menuactions.append(self.menu.addAction( self.trUtf8("Remove from Changelist"), self.__removeFromChangelist)) - if self.vcs.versionStr >= '1.2.0': + if self.vcs.version >= (1, 2, 0): self.menu.addSeparator() self.menuactions.append(self.menu.addAction(self.trUtf8("Lock"), self.__lock))
--- a/Plugins/VcsPlugins/vcsPySvn/subversion.py Sat Sep 03 16:41:44 2011 +0200 +++ b/Plugins/VcsPlugins/vcsPySvn/subversion.py Sat Sep 03 17:10:22 2011 +0200 @@ -190,6 +190,7 @@ @return flag indicating the existance (boolean) and an error message (string) """ self.versionStr = ".".join([str(v) for v in pysvn.svn_version[:-1]]) + self.version = pysvn.svn_version[:-1] return True, "" def vcsInit(self, vcsDir, noDialog=False):
--- a/Plugins/VcsPlugins/vcsSubversion/ProjectBrowserHelper.py Sat Sep 03 16:41:44 2011 +0200 +++ b/Plugins/VcsPlugins/vcsSubversion/ProjectBrowserHelper.py Sat Sep 03 17:10:22 2011 +0200 @@ -229,7 +229,7 @@ self.vcsMenuActions.append(act) act = menu.addAction(self.trUtf8('Move in repository'), self.__SVNMove) self.vcsMenuActions.append(act) - if self.vcs.versionStr >= '1.5.0': + if self.vcs.version >= (1, 5, 0): menu.addSeparator() act = menu.addAction(self.trUtf8("Add to Changelist"), self.__SVNAddToChangelist) @@ -272,7 +272,7 @@ self.vcsMenuActions.append(act) act = menu.addAction(self.trUtf8('Resolve conflict'), self.__SVNResolve) self.vcsMenuActions.append(act) - if self.vcs.versionStr >= '1.2.0': + if self.vcs.version >= (1, 2, 0): menu.addSeparator() act = menu.addAction(UI.PixmapCache.getIcon("vcsLock.png"), self.trUtf8('Lock'), self.__SVNLock) @@ -350,7 +350,7 @@ self.trUtf8('Remove from repository (and disk)'), self._VCSRemove) self.vcsMultiMenuActions.append(act) - if self.vcs.versionStr >= '1.5.0': + if self.vcs.version >= (1, 5, 0): menu.addSeparator() act = menu.addAction(self.trUtf8("Add to Changelist"), self.__SVNAddToChangelist) @@ -380,7 +380,7 @@ self.vcsMultiMenuActions.append(act) act = menu.addAction(self.trUtf8('Resolve conflict'), self.__SVNResolve) self.vcsMultiMenuActions.append(act) - if self.vcs.versionStr >= '1.2.0': + if self.vcs.version >= (1, 2, 0): menu.addSeparator() act = menu.addAction(UI.PixmapCache.getIcon("vcsLock.png"), self.trUtf8('Lock'), self.__SVNLock) @@ -492,7 +492,7 @@ self.vcsDirMenuActions.append(act) act = menu.addAction(self.trUtf8('Move in repository'), self.__SVNMove) self.vcsDirMenuActions.append(act) - if self.vcs.versionStr >= '1.5.0': + if self.vcs.version >= (1, 5, 0): menu.addSeparator() act = menu.addAction(self.trUtf8("Add to Changelist"), self.__SVNAddToChangelist) @@ -593,7 +593,7 @@ self.trUtf8('Remove from repository (and disk)'), self._VCSRemove) self.vcsDirMultiMenuActions.append(act) - if self.vcs.versionStr >= '1.5.0': + if self.vcs.version >= (1, 5, 0): menu.addSeparator() act = menu.addAction(self.trUtf8("Add to Changelist"), self.__SVNAddToChangelist)
--- a/Plugins/VcsPlugins/vcsSubversion/SvnCommitDialog.py Sat Sep 03 16:41:44 2011 +0200 +++ b/Plugins/VcsPlugins/vcsSubversion/SvnCommitDialog.py Sat Sep 03 17:10:22 2011 +0200 @@ -35,7 +35,7 @@ super().__init__(parent, Qt.WindowFlags(Qt.Window)) self.setupUi(self) - if vcs.versionStr < '1.5.0': + if vcs.version < (1, 5, 0): self.changeListsGroup.hide() def showEvent(self, evt):
--- a/Plugins/VcsPlugins/vcsSubversion/SvnStatusDialog.py Sat Sep 03 16:41:44 2011 +0200 +++ b/Plugins/VcsPlugins/vcsSubversion/SvnStatusDialog.py Sat Sep 03 17:10:22 2011 +0200 @@ -68,7 +68,7 @@ self.statusList.headerItem().setText(self.__lastColumn, "") self.statusList.header().setSortIndicator(self.__pathColumn, Qt.AscendingOrder) - if self.vcs.versionStr < '1.5.0': + if self.vcs.version < (1, 5, 0): self.statusList.header().hideSection(self.__changelistColumn) self.menuactions = [] @@ -84,14 +84,14 @@ self.trUtf8("Revert changes"), self.__revert)) self.menuactions.append(self.menu.addAction( self.trUtf8("Restore missing"), self.__restoreMissing)) - if self.vcs.versionStr >= '1.5.0': + if self.vcs.version >= (1, 5, 0): self.menu.addSeparator() self.menuactions.append(self.menu.addAction( self.trUtf8("Add to Changelist"), self.__addToChangelist)) self.menuactions.append(self.menu.addAction( self.trUtf8("Remove from Changelist"), self.__removeFromChangelist)) - if self.vcs.versionStr >= '1.2.0': + if self.vcs.version >= (1, 2, 0): self.menu.addSeparator() self.menuactions.append(self.menu.addAction(self.trUtf8("Lock"), self.__lock))
--- a/Plugins/VcsPlugins/vcsSubversion/SvnUrlSelectionDialog.py Sat Sep 03 16:41:44 2011 +0200 +++ b/Plugins/VcsPlugins/vcsSubversion/SvnUrlSelectionDialog.py Sat Sep 03 17:10:22 2011 +0200 @@ -35,7 +35,7 @@ super().__init__(parent) self.setupUi(self) - if vcs.versionStr < "1.4.0": + if vcs.version < (1, 4, 0): self.summaryCheckBox.setEnabled(False) self.summaryCheckBox.setChecked(False)
--- a/Plugins/VcsPlugins/vcsSubversion/subversion.py Sat Sep 03 16:41:44 2011 +0200 +++ b/Plugins/VcsPlugins/vcsSubversion/subversion.py Sat Sep 03 17:10:22 2011 +0200 @@ -8,6 +8,7 @@ """ import os +import re import shutil import urllib.request import urllib.parse @@ -172,6 +173,15 @@ output = \ str(process.readAllStandardOutput(), ioEncoding, 'replace') self.versionStr = output.split()[2] + v = list(re.match(r'.*?(\d+)\.(\d+)\.?(\d+)?', self.versionStr).groups()) + for i in range(3): + try: + v[i] = int(v[i]) + except TypeError: + v[i] = 0 + except IndexError: + v.append(0) + self.version = tuple(v) return True, errMsg else: if finished: @@ -510,7 +520,7 @@ args.append('update') self.addArguments(args, self.options['global']) self.addArguments(args, self.options['update']) - if self.versionStr >= '1.5.0': + if self.version >= (1, 5, 0): args.append('--accept') args.append('postpone') if isinstance(name, list): @@ -958,7 +968,7 @@ args = [] args.append('switch') - if self.versionStr >= '1.5.0': + if self.version >= (1, 5, 0): args.append('--accept') args.append('postpone') args.append(url) @@ -1006,7 +1016,7 @@ args = [] args.append('merge') self.addArguments(args, opts) - if self.versionStr >= '1.5.0': + if self.version >= (1, 5, 0): args.append('--accept') args.append('postpone') if force: @@ -1316,7 +1326,7 @@ @param name file/directory name to be resolved (string) """ args = [] - if self.versionStr >= '1.5.0': + if self.version >= (1, 5, 0): args.append('resolve') args.append('--accept') args.append('working')