Failure to "bzr merge -r X..Y filename" on Windows
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
Bazaar |
Fix Released
|
Medium
|
Martin Packman | ||
2.1 |
Fix Released
|
Medium
|
Martin Packman |
Bug Description
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1
I'm not sure what is going wrong, but I was trying to revert a change to
a file. On Windows I get a failure when trying to do:
$ bzr merge -r 4478..4477 bzrlib/lock.py
M bzrlib/lock.py
Text conflict in bzrlib/lock.py
bzr: ERROR: [Error 32] The process cannot access the file because it is
being used by another process
Note that if I just do:
$ bzr merge -r 4478..4477 .
M NEWS
M bzrlib/lock.py
Text conflict in NEWS
Text conflict in bzrlib/lock.py
2 conflicts encountered.
It works just fine (except for the conflicts).
I'm guessing that the former method leaves a file handle open, and
expects the garbage collector to clean it up. And we get to the
'finalize' portion of the code before that happens.
John
=:->
affects bzr
status confirmed
importance medium
tags win32
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.9 (Cygwin)
Comment: Using GnuPG with Mozilla - http://
iEYEARECAAYFAkr
A0sAmQF9zKs3KYz
=WEKF
-----END PGP SIGNATURE-----
Related branches
- Martin Pool: Approve
- John A Meinel: Approve
-
Diff: 105 lines (+37/-28)2 files modifiedbzrlib/bundle/__init__.py (+25/-28)
bzrlib/tests/blackbox/test_merge.py (+12/-0)
Changed in bzr: | |
milestone: | none → 2.1.0b4 |
This is indeed about leaving files around without closing them, with filehack I get this:
Unclosed file: u'%TMP% /testbzr- dwm89j. tmp/_merge_ reversed_ revision_ range/work/ a' commands. py", line 1140, in run_bzr_ catch_user_ errors commands. py", line 1038, in run_bzr commands. py", line 655, in run_argv_aliases **all_cmd_ args) builtins. py", line 3692, in run transports= possible_ transports) bundle\ __init_ _.py", line 49, in read_mergeable_ from_url bundle\ __init_ _.py", line 71, in read_mergeable_ from_transport transport) transport\ __init_ _.py", line 1644, in do_catching_ redirections bundle\ __init_ _.py", line 59, in get_bundle get(filename) , transport transport\ local.py" , line 163, in get
File ".\bzrlib\
return run_bzr(argv)
File ".\bzrlib\
ret = run(*run_argv)
File ".\bzrlib\
return self.run(
File ".\bzrlib\
possible_
File ".\bzrlib\
_do_directive)
File ".\bzrlib\
redirected_
File ".\bzrlib\
return action(transport)
File ".\bzrlib\
return transport.
File ".\bzrlib\
return open(path, 'rb')
Have a fix for this I'll post shortly.