Bug in dirstate _iter_changes
Aaron Bentley
aaron.bentley at utoronto.ca
Fri Apr 20 15:33:28 BST 2007
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1
Hi all,
At work, I have encountered a bug in the dirstate version of
iter_changes. If I force it to use the generic form, iter_changes works
fine.
It's proprietary data, and I have been unable to reduce it to a simple
test case.
I also can't read dirstate's iter_changes implementation-- it's way, way
too big.
But iter_changes appears to sometimes recurse into unversioned
directories, and if it doesn't have permission, it crashes.
The unversioned directory it attempts to read is "ziptempAp5BkA". The
permissions are 0700, and I am not the owner (the owner is
www-data.www.data).
The grandparent directory, './forms2.r7-6-3', is also accessible through
a symlink, './forms2'.
The parent directory './formst2/tmp' is versioned, but its contents are
ignored.
Here's my traceback:
$ bzr status -Derror bzr: ERROR: exceptions.OSError: [Errno 13]
Permission denied:
'/home/abentley/configs/web//forms2.r7-6-3/tmp/ziptempAp5BkA'
Traceback (most recent call last):
File "/home/abentley/bzr/bzr.dev/bzrlib/commands.py", line 647, in
run_bzr_catch_errors
return run_bzr(argv)
File "/home/abentley/bzr/bzr.dev/bzrlib/commands.py", line 609, in run_bzr
ret = run(*run_argv)
File "/home/abentley/bzr/bzr.dev/bzrlib/commands.py", line 305, in
run_argv_aliases
return self.run(**all_cmd_args)
File "/home/abentley/bzr/bzr.dev/bzrlib/commands.py", line 619, in
ignore_pipe result = func(*args, **kwargs)
File "/home/abentley/bzr/bzr.dev/bzrlib/builtins.py", line 203, in run
to_file=self.outf, short=short, versioned=versioned)
File "/home/abentley/bzr/bzr.dev/bzrlib/status.py", line 153, in
show_tree_status
_mod_delta.report_changes(changes, reporter)
File "/home/abentley/bzr/bzr.dev/bzrlib/delta.py", line 390, in
report_changes for (file_id, path, content_change, versioned,
parent_id, name, kind,
File "/home/abentley/bzr/bzr.dev/bzrlib/workingtree_4.py", line 2130,
in _iter_changes
current_dir_info = dir_iterator.next()
File "/home/abentley/bzr/bzr.dev/bzrlib/osutils.py", line 1216, in
_walkdirs_unicode_to_utf8
for name in sorted(_listdir(top)):
OSError: [Errno 13] Permission denied:
'/home/abentley/configs/web//forms2.r7-6-3/tmp/ziptempAp5BkA'
bzr 0.16.0dev0 on python 2.4.1.final.0 (linux2)
arguments: ['/home/abentley/bin/bzr', 'status', '-Derror']
** please send this report to bazaar at lists.ubuntu.com
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.1 (GNU/Linux)
Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org
iD8DBQFGKM830F+nu1YWqI0RAj9rAKCGVXML1gE5VJ+Mu653hm07v4Z4uACdHXyh
LVdFziva2kmurihmE3eMT7E=
=8lVo
-----END PGP SIGNATURE-----
More information about the bazaar
mailing list