monotone-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Monotone-devel] clone cleanup failure on Windows


From: William Uther
Subject: [Monotone-devel] clone cleanup failure on Windows
Date: Fri, 2 Mar 2007 09:58:51 +1100

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          :-}





reply via email to

[Prev in Thread] Current Thread [Next in Thread]