Rev 288: svn_ra_dav seems to not be able to set dirent.kind correctly. Appears to fix #56647. in http://people.samba.org/bzr/jelmer/bzr-svn/bzr.dev

Jelmer Vernooij jelmer at samba.org
Mon Dec 25 01:54:14 GMT 2006


------------------------------------------------------------
revno: 288
revision-id: jelmer at samba.org-20061225015153-3dhqe59my32ln6wu
parent: jelmer at samba.org-20061225014959-j4quf4kpduscvf74
committer: Jelmer Vernooij <jelmer at samba.org>
branch nick: main
timestamp: Mon 2006-12-25 02:51:53 +0100
message:
  svn_ra_dav seems to not be able to set dirent.kind correctly. Appears to fix #56647.
modified:
  logwalker.py                   logwalker.py-20060621215743-c13fhfnyzh1xzwh2-1
  transport.py                   transport.py-20060406231150-b3472d06b3a0818d
=== modified file 'logwalker.py'
--- a/logwalker.py	2006-12-25 00:21:58 +0000
+++ b/logwalker.py	2006-12-25 01:51:53 +0000
@@ -311,7 +311,11 @@
 
         for p in dirents:
             yield os.path.join(path, p)
-            if dirents[p].kind == svn.core.svn_node_dir:
+            # This needs to be != svn.core.svn_node_file because 
+            # some ra backends seem to return negative values for .kind.
+            # This if statement is just an optimization to make use of this 
+            # property when possible.
+            if dirents[p].kind != svn.core.svn_node_file:
                 for c in self.find_children(os.path.join(path, p), revnum):
                     yield c
 

=== modified file 'transport.py'
--- a/transport.py	2006-12-25 00:21:58 +0000
+++ b/transport.py	2006-12-25 01:51:53 +0000
@@ -180,6 +180,7 @@
         return svn.ra.get_dir2(self._ra, path, *args, **kwargs)
 
     def list_dir(self, relpath):
+        assert len(relpath) == 0 or relpath[0] != "/"
         if relpath == ".":
             relpath = ""
         try:




More information about the bazaar-commits mailing list