Tree Transform passing all tests, plus abuse

Denys Duchier duchier at ps.uni-sb.de
Sat Feb 11 18:48:38 GMT 2006


Aaron Bentley <aaron.bentley at utoronto.ca> writes:

> I've now tested it on win32, and I'm sorry to say there are a few cases
> where we're getting bitten by the different rename behavior.  I'm going
> to make it a conflict on *nix to create a new file without removing the
> old one, first.

yes, such differences can otherwise lead to very puzzling behaviour. today, on
irc, webchick repported a problem branching bzrtools.  as best as I could figure
out (by inspection of the code, since I don't run windows), in bzr.dev
revno=1527, the write lock is held while installing a new branch's control
files.  Unfortunately, the write lock is on file branch-lock, and branch-lock is
also one the control files to be installed (by _make_control).  As result, when
bzr attempts to install control file branch-lock, the latter already exists and
rename() fails on windows (on linux, I guess the write lock becomes meaningless
since it is now held on a file (inode) that is no longer accessible from the
file system).

Fortunately, revno=1528 does it in a different and (I think) correct way.

--Denys






More information about the bazaar mailing list