Bug in dirstate _iter_changes
John Arbash Meinel
john at arbash-meinel.com
Wed Apr 25 22:28:58 BST 2007
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1
Aaron Bentley wrote:
> Aaron Bentley wrote:
>>> John Arbash Meinel wrote:
>>>> Aaron Bentley wrote:
>>>>> But iter_changes appears to sometimes recurse into unversioned
>>>>> directories, and if it doesn't have permission, it crashes.
>>>> Can you try it after my patch for:
>>>> http://bzr.arbash-meinel.com/branches/bzr/0.16-dev/iter_changes_unknowns_104257
>>> That fixed it. Great!
>
> I'm still seeing brokenness on this tree for "bzr diff". I'm using
> bzr.dev revno 2456, and getting
>
> bzr: ERROR: exceptions.OSError: [Errno 13] Permission denied:
> '/home/abentley/configs/web//forms2.r7-6-3/tmp/ziptempAp5BkA'
>
Ahh, that is because the "skip this directory" is inside a "if
want_unversioned" clause.
Aaron: does this patch fix it for you?
=== modified file 'bzrlib/workingtree_4.py'
- --- bzrlib/workingtree_4.py 2007-04-20 20:39:53 +0000
+++ bzrlib/workingtree_4.py 2007-04-25 21:28:20 +0000
@@ -2159,6 +2159,14 @@
del current_dir_info[1][path_index]
path_index -= 1
path_index += 1
+ else:
+ path_index = 0
+ while path_index < len(current_dir_info[1]):
+ current_path_info =
current_dir_info[1][path_index]
+ if current_path_info[2] in ('directory',
+
'tree-reference'):
+ del current_dir_info[1][path_index]
+ path_index += 1
# This dir info has been handled, go to the next
try:
John
=:->
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.3 (GNU/Linux)
Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org
iD8DBQFGL8gaJdeBCYSNAAMRAu7WAKCgUOTXw8EuLj6cinVAUOibKILkcwCfbVU5
2fo7Rx9dtM2VpEPFLGkI6zc=
=ATAQ
-----END PGP SIGNATURE-----
More information about the bazaar
mailing list