DirState.update_basis_by_delta checks Tree[0]
John Arbash Meinel
john at arbash-meinel.com
Wed May 11 13:48:11 UTC 2011
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1
I'm trying to understand some failures that I've gotten when trying to
change pull and update to use "WT.update_basis_by_delta".
Specifically, I get stuff like:
InconsistentDelta: An inconsistent delta was supplied involving 'c',
'c-20110511114127-kuflw3huo8rkozik-2110'
reason: This was marked as a real delete, but the WT state claims that
it still exists and is versioned.
What is weird, is that update_basis_by_delta is checking tree[0], which
is the active working tree, but we are asking it to change the content
of tree[1] the basis tree.
I think it always works for commit, because commit ends up changing the
current WT state to be the new basis tree (modulo selected files, but
they shouldn't be in the delta, either).
However, pull and mostly uncommit *don't*. Specifically, uncommit
doesn't touch the WT current state at all. It intentionally leaves
things as they were before, so that you can recommit them.
I'll give an example,
bzr init test
cd test
bzr add foo
bzr commit -m "adding foo"
bzr uncommit --force
At this point, the basis tree needs to say that foo is not versioned,
but in the active WT it should be versioned.
This is the direct failure:
$ bzr uncommit --force
2 John Arbash Meinel 2011-05-11
adding foo
The above revision(s) will be removed.
bzr: ERROR: An inconsistent delta was supplied involving 'foo',
'foo-20110511134531-2jtf323ssn5sbjh8-1'
reason: This was marked as a real delete, but the WT state claims that
it still exists and is versioned.
Is this a bug in the InconsistentDelta code? Do I need to add a flag as
to whether or not to check the current WT state?
John
=:->
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.9 (Cygwin)
Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org/
iEYEARECAAYFAk3Kk5sACgkQJdeBCYSNAAMrvgCfWcZUb2DbTW4duwPbmDZ31bnY
9C8AmgNGKrG2loFMJbd07hRZuGjplPjH
=wOeJ
-----END PGP SIGNATURE-----
More information about the bazaar
mailing list