Hi,
I've merged the mtn clone code. Unfortunately, two tests are
failing on windows. I tried to fix it in rev
4024fa7a1c3c854251a7981f134bfa9e48573feb, but looking at the build
bot it still seems to be failing. I was wondering if someone with
easy access to a windows box could have a look.
Background:
When clone is not supplied a --db argument it creates a new db in
_MTN/mtn.db in the new workspace. If the clone command fails for
some reason (e.g. we try to clone a revision that doesn't exist in
the branch we specified) the we usually will not know this until the
new workspace has been created, the new db created in it, the branch
pulled from the remote server, and the rest of the checkout started.
If something fails at this point we need to clean up. Currently this
is handled by the cleanup helper class on line 170 of
cmd_netsync.cc. A stack instance of this class is created in the
clone function on line 231 of cmd_netsync.cc. When the clone
completes successfully it lets the cleanup helper know. If the clone
doesn't complete successfully then the cleanup helper destructor
removes the newly created workspace.
The problem:
On windows the cleanup of the directory is failing because a file is
still open in it. My first assumption is that this was the database
file, so in revision 4024fa7a1c3c854251a7981f134bfa9e48573feb I
closed the database in the helper function. This didn't seem to fix
the problem however (and apart from the test changes could probably
be reverted).
Possible solutions:
i) Don't clean up (let the user clean up). This is at least saves
the database they've just pulled, although it is in a place they're
unlikely to find it by themselves.
ii) Don't clean up on windows.
iii) Someone fixes the problem on Windows. Unfortunately, I'm not
sure I can do this. I don't have access to a windows build
environment, and debugging by build-bot is, well, inefficient.
Be well,
Will :-}
_______________________________________________
Monotone-devel mailing list
Monotone-devel@nongnu.org
http://lists.nongnu.org/mailman/listinfo/monotone-devel