<!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 =&gt; some/dir<br>
bzr: ERROR: The file id file-20070322150508-p1rbbllqejwguoi3-8 is not
present in the tree &lt;WorkingTree4 of /home/iacobs/tmp/tst2&gt;.<br>
<br>
do bzr revert; results in assertion error:<br>
<br>
+N  some/test/<br>
R   some/dir/ =&gt; some/test/dir/<br>
R   some/filee =&gt; 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>