<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<meta content="text/html;charset=UTF-8" http-equiv="Content-Type">
</head>
<body bgcolor="#ffffff" text="#000000">
John Arbash Meinel wrote:<br>
<blockquote cite="mid:46028E91.6020701@arbash-meinel.com" type="cite">
<blockquote type="cite">
<pre wrap="">iacobs@moria ~/tmp/tst $ bzr init --dirstate-tags
</pre>
</blockquote>
<pre wrap=""><!---->
I would guess that --dirstate or --dirstate-tags should perform the same
here. (since they use the same working tree format).
</pre>
</blockquote>
<br>
looks like you are right :); I was trying to reproduce the exact
conditions under which I first ran into problems<br>
<br>
reverted to 2365, and still getting the same:<br>
<br>
sequence of operations:<br>
* move everything from a directory somewhere else<br>
* delete the directory (forgetting to unversion it)<br>
* try to commit<br>
<br>
I get:<br>
<br>
missing some/test<br>
renamed some/test/dir => some/dir<br>
bzr: ERROR: The file id file-20070322150508-p1rbbllqejwguoi3-8 is not
present in the tree <WorkingTree4 of /home/iacobs/tmp/tst2>.<br>
<br>
do bzr revert; results in assertion error:<br>
<br>
+N some/test/<br>
R some/dir/ => some/test/dir/<br>
R some/filee => some/test/filee<br>
bzr: ERROR: exceptions.AssertionError:<br>
<br>
Traceback (most recent call last):<br>
File "/usr/lib/python2.4/site-packages/bzrlib/commands.py", line 650,
in run_bzr_catch_errors<br>
return run_bzr(argv)<br>
File "/usr/lib/python2.4/site-packages/bzrlib/commands.py", line 612,
in run_bzr<br>
ret = run(*run_argv)<br>
File "/usr/lib/python2.4/site-packages/bzrlib/commands.py", line 304,
in run_argv_aliases<br>
return self.run(**all_cmd_args)<br>
File "/usr/lib/python2.4/site-packages/bzrlib/builtins.py", line
2751, in run<br>
not no_backup, pb, report_changes=True)<br>
File "/usr/lib/python2.4/site-packages/bzrlib/mutabletree.py", line
38, in tree_write_locked<br>
return unbound(self, *args, **kwargs)<br>
File "/usr/lib/python2.4/site-packages/bzrlib/workingtree.py", line
1835, in revert<br>
report_changes)<br>
File "/usr/lib/python2.4/site-packages/bzrlib/transform.py", line
1428, in revert<br>
tt.apply()<br>
File "/usr/lib/python2.4/site-packages/bzrlib/transform.py", line
751, in apply<br>
self._tree._write_inventory(inv)<br>
File "/usr/lib/python2.4/site-packages/bzrlib/mutabletree.py", line
38, in tree_write_locked<br>
return unbound(self, *args, **kwargs)<br>
File "/usr/lib/python2.4/site-packages/bzrlib/workingtree_4.py", line
1207, in _write_inventory<br>
self.current_dirstate().set_state_from_inventory(inv)<br>
File "/usr/lib/python2.4/site-packages/bzrlib/dirstate.py", line
2007, in set_state_from_inventory<br>
self._make_absent(current_old)<br>
File "/usr/lib/python2.4/site-packages/bzrlib/dirstate.py", line
2055, in _make_absent<br>
assert update_tree_details[0][0] != 'a' # absent<br>
AssertionError<br>
<br>
bzr 0.16.0dev0 on python 2.4.4.final.0 (linux2)<br>
arguments: ['/usr/bin/bzr', 'revert']<br>
<br>
the branch seems to be hosed after this, bzr st dies, too:<br>
<br>
bzr: ERROR: exceptions.TypeError: unsubscriptable object<br>
<br>
Traceback (most recent call last):<br>
File "/usr/lib/python2.4/site-packages/bzrlib/commands.py", line 650,
in run_bzr_catch_errors<br>
return run_bzr(argv)<br>
File "/usr/lib/python2.4/site-packages/bzrlib/commands.py", line 612,
in run_bzr<br>
ret = run(*run_argv)<br>
File "/usr/lib/python2.4/site-packages/bzrlib/commands.py", line 304,
in run_argv_aliases<br>
return self.run(**all_cmd_args)<br>
File "/usr/lib/python2.4/site-packages/bzrlib/commands.py", line 622,
in ignore_pipe<br>
result = func(*args, **kwargs)<br>
File "/usr/lib/python2.4/site-packages/bzrlib/builtins.py", line 201,
in run<br>
to_file=self.outf, short=short, versioned=versioned)<br>
File "/usr/lib/python2.4/site-packages/bzrlib/status.py", line 157,
in show_tree_status<br>
want_unversioned=want_unversioned)<br>
File "/usr/lib/python2.4/site-packages/bzrlib/tree.py", line 91, in
changes_from<br>
want_unversioned=want_unversioned,<br>
File "/usr/lib/python2.4/site-packages/bzrlib/decorators.py", line
127, in read_locked<br>
return unbound(self, *args, **kwargs)<br>
File "/usr/lib/python2.4/site-packages/bzrlib/tree.py", line 595, in
compare<br>
want_unversioned=want_unversioned)<br>
File "/usr/lib/python2.4/site-packages/bzrlib/delta.py", line 222, in
_compare_trees<br>
want_unversioned=want_unversioned):<br>
File "/usr/lib/python2.4/site-packages/bzrlib/workingtree_4.py", line
2128, in _iter_changes<br>
for result in _process_entry(current_entry, None):<br>
File "/usr/lib/python2.4/site-packages/bzrlib/workingtree_4.py", line
1909, in _process_entry<br>
target_parent_id = target_parent_entry[0][2]<br>
TypeError: unsubscriptable object<br>
<br>
bzr 0.16.0dev0 on python 2.4.4.final.0 (linux2)<br>
arguments: ['/usr/bin/bzr', 'st']<br>
<br>
However, revert actually does what it's supposed to do, the file tree
gets restored to the previous state.<br>
I attached a script containing the sequence of operations (I attempted
to build a proper blackbox test, but got lost :( )<br>
<br>
HTH<br>
<br>
</body>
</html>