Fixed the treatment of the Subversion version number. 5_1_x

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

author
Detlev Offenbach <detlev@die-offenbachs.de>
date
Sat, 03 Sep 2011 17:10:22 +0200
branch
5_1_x
changeset 1271
1e22e0168561
parent 1270
e1a56c0c0b60
child 1272
f64ca58aaa40

Fixed the treatment of the Subversion version number.
(transplanted from 4fc337f391c925cf643565adc4df1a1eec1654b3)

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	Fri Sep 02 08:21:31 2011 +0200
+++ b/Plugins/VcsPlugins/vcsPySvn/SvnStatusDialog.py	Sat Sep 03 17:10:22 2011 +0200
@@ -85,7 +85,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	Fri Sep 02 08:21:31 2011 +0200
+++ b/Plugins/VcsPlugins/vcsPySvn/subversion.py	Sat Sep 03 17:10:22 2011 +0200
@@ -187,6 +187,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	Fri Sep 02 08:21:31 2011 +0200
+++ b/Plugins/VcsPlugins/vcsSubversion/ProjectBrowserHelper.py	Sat Sep 03 17:10:22 2011 +0200
@@ -230,7 +230,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)
@@ -277,7 +277,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)
@@ -355,7 +355,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)
@@ -385,7 +385,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)
@@ -497,7 +497,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)
@@ -602,7 +602,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	Fri Sep 02 08:21:31 2011 +0200
+++ b/Plugins/VcsPlugins/vcsSubversion/SvnCommitDialog.py	Sat Sep 03 17:10:22 2011 +0200
@@ -34,7 +34,7 @@
         QWidget.__init__(self, 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	Fri Sep 02 08:21:31 2011 +0200
+++ b/Plugins/VcsPlugins/vcsSubversion/SvnStatusDialog.py	Sat Sep 03 17:10:22 2011 +0200
@@ -62,7 +62,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 = []
@@ -74,14 +74,14 @@
             self.trUtf8("Add to repository"), self.__add))
         self.menuactions.append(self.menu.addAction(
             self.trUtf8("Revert changes"), self.__revert))
-        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	Fri Sep 02 08:21:31 2011 +0200
+++ b/Plugins/VcsPlugins/vcsSubversion/SvnUrlSelectionDialog.py	Sat Sep 03 17:10:22 2011 +0200
@@ -35,7 +35,7 @@
         QDialog.__init__(self, 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	Fri Sep 02 08:21:31 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, urllib.parse, urllib.error
 
@@ -169,6 +170,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:
@@ -507,7 +517,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):
@@ -949,7 +959,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)
@@ -994,7 +1004,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:
@@ -1304,7 +1314,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