Plugins/VcsPlugins/vcsPySvn/subversion.py

changeset 3128
2d4ccc459f7e
parent 3108
30521d7d3101
child 3142
55030c09e142
child 3160
209a07d7e401
--- a/Plugins/VcsPlugins/vcsPySvn/subversion.py	Thu Dec 05 18:46:35 2013 +0100
+++ b/Plugins/VcsPlugins/vcsPySvn/subversion.py	Thu Dec 05 18:56:14 2013 +0100
@@ -1494,7 +1494,7 @@
                 dirs = [x for x in names.keys() if os.path.isdir(x)]
                 for file in allFiles:
                     name = os.path.normcase(file.path)
-                    if file.is_versioned:
+                    if self.__isVersioned(file):
                         if name in names:
                             names[name] = self.canBeCommitted
                             dn = name
@@ -1568,7 +1568,7 @@
                 locker.unlock()
                 for file in allFiles:
                     name = os.path.normcase(file.path)
-                    if file.is_versioned:
+                    if self.__isVersioned(file):
                         if name in names:
                             names[name] = self.canBeCommitted
                         self.statusCache[name] = self.canBeCommitted
@@ -1579,6 +1579,25 @@
         
         return names
         
+    def __isVersioned(self, status):
+        """
+        Private method to check, if the given status indicates a
+        versioned state.
+        
+        @param status status object to check (pysvn.PysvnStatus)
+        @return flag indicating a versioned state (boolean)
+        """
+        return status["text_status"] in [
+            pysvn.wc_status_kind.normal,
+            pysvn.wc_status_kind.added,
+            pysvn.wc_status_kind.missing,
+            pysvn.wc_status_kind.deleted,
+            pysvn.wc_status_kind.replaced,
+            pysvn.wc_status_kind.modified,
+            pysvn.wc_status_kind.merged,
+            pysvn.wc_status_kind.conflicted,
+        ]
+        
     def clearStatusCache(self):
         """
         Public method to clear the status cache.

eric ide

mercurial