update fails with File exists
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
Bazaar |
Confirmed
|
Low
|
Unassigned |
Bug Description
We recently started getting the following errors intermittendly.
They sometimes seem to be going away when a new commit has been added to the branch the checkout is from.
Or they may indeed result in a out of memory error of bzr (maybe that should be another bug report?)
The problem is that in a checkout of the bound branch we try to execute update.
This seems to fail every single time with the error that some ignored error for a pack file followed by a file exists error to the same file.
The file will be different with every update attempt.
A bzr status will show that the working tree is now out of date.
So I thought I try a bzr unbind followed by a bzr update.
This succeeds as below snippet shows.
After that I bound the checkout back to the bound branch location.
This needs to be addressed urgently because it is preventing our automated build agent to run properly and it is costing in productivity of our developers.
bzr version is : 2.3.4 but we have seen the same issue with 2.4b5
bzr is showing the issue on Windows 7, Windows XP and Windows Server 2008 R2.
We were running the standalone install build which seems to be using a python 2.6.6 internally.
Microsoft Windows [Version 6.1.7600]
Copyright (c) 2009 Microsoft Corporation. All rights reserved.
<path to checkout>bzr up
Connected (version 2.0, client OpenSSH_4.3)
Authentication (publickey) successful!
Secsh channel 1 opened.
bzr: ERROR (ignored): 'file:///<path to shared repo>/.
bzr: ERROR: File exists: u'<path to shared repo>/.
<path to checkout>bzr info
Repository checkout (format: unnamed)
Location:
repository checkout root: .
checkout of branch: <bound branch location>
shared repository: <path to shared repo>
<path to checkout>bzr stat
working tree is out of date, run 'bzr update'
<path to checkout>bzr up
Connected (version 2.0, client OpenSSH_4.3)
Authentication (publickey) successful!
Secsh channel 1 opened.
bzr: ERROR (ignored): 'file:///<path to shared repo>/.
bzr: ERROR: File exists: u'<path to shared repo>/.
<path to checkout>bzr info
Repository checkout (format: unnamed)
Location:
repository checkout root: .
checkout of branch: <bound branch location>
shared repository: <path to shared repo>
<path to checkout>bzr unbind
<path to checkout>bzr up
<files being updated>
All changes applied successfully.
Updated to revision 5318 of branch <path to shared repo>/CPlusPlus
<path to checkout>
Changed in bzr: | |
status: | Incomplete → New |
Changed in bzr: | |
status: | New → Confirmed |
tags: | added: check-for-breezy |
You have a garbage file in .bzr/repository /upload which is confusing us while fetching new content.
If you have no bzr process running, then you should have no content in .bzr/repository /upload (it is a temporary staging area.)
You can try just deleting all files in that directory (do not delete the directory itself). And see if 'bzr update' works again. It sounds like it is failing to download because it got the same content as a previous download that was killed.
On POSIX systems (Mac and Linux) this won't fail, because it will just overwrite the target file.
It would also be useful to see the full traceback (from your .bzr.log file, see 'bzr --version' for information on where that file lives.)