Fixed the treatment of the Subversion version number.

Sat, 03 Sep 2011 17:10:22 +0200

author
Detlev Offenbach <detlev@die-offenbachs.de>
date
Sat, 03 Sep 2011 17:10:22 +0200
changeset 1268
4fc337f391c9
parent 1267
5eddb59304c7
child 1269
7b4d9f1d7c6c

Fixed the treatment of the Subversion version number.

Plugins/VcsPlugins/vcsPySvn/SvnStatusDialog.py file | annotate | diff | comparison | revisions
Plugins/VcsPlugins/vcsPySvn/subversion.py file | annotate | diff | comparison | revisions
Plugins/VcsPlugins/vcsSubversion/ProjectBrowserHelper.py file | annotate | diff | comparison | revisions
Plugins/VcsPlugins/vcsSubversion/SvnCommitDialog.py file | annotate | diff | comparison | revisions
Plugins/VcsPlugins/vcsSubversion/SvnStatusDialog.py file | annotate | diff | comparison | revisions
Plugins/VcsPlugins/vcsSubversion/SvnUrlSelectionDialog.py file | annotate | diff | comparison | revisions
Plugins/VcsPlugins/vcsSubversion/subversion.py file | annotate | diff | comparison | revisions
--- 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')

eric ide

mercurial