commit: fails to detect deletion of aliased file
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
Bazaar |
Confirmed
|
Medium
|
Unassigned | ||
Breezy |
Triaged
|
Medium
|
Unassigned |
Bug Description
The following appears to demonstrate that on Win32
there is a bug in commit that will fail to detect deletion
of a file if a file that aliases it is present.
G:\bzrtempco>bzr --version
Bazaar (bzr) 0.91.0 [...... ]
G:\bzrtempco>mkdir bzr91
G:\bzrtempco>cd bzr91
G:\bzrtempco\
G:\bzrtempco\
G:\bzrtempco\
added Bzr
G:\bzrtempco\
Committing revision 1 to "G:/bzrtempco/
added Bzr
Committed revision 1.
G:\bzrtempco\
G:\bzrtempco\
added bZR
G:\bzrtempco\
Committing revision 2 to "G:/bzrtempco/
added bZR
Committed revision 2.
G:\bzrtempco\bzr91>
This is significant because the resulting branch
cannot now be resolved back into a Working Tree
on the same machine that created it -
G:\bzrtempco\
G:\bzrtempco>bzr clone bzr91 bzr91clone
bzr: ERROR: Unable to delete transform temporary directory \\
Please examine G:/bzrtempco/
to see if it contains any files you wish to
keep, and delete it when you are done.
G:\bzrtempco>
The fact that the error report is unhelpful and misleading
has been the subject of report #153201.
Changed in bzr: | |
status: | Triaged → Confirmed |
tags: | added: check-for-breezy |
tags: |
added: case-sensitivity removed: check-for-breezy |
Changed in brz: | |
status: | New → Triaged |
importance: | Undecided → Medium |
see my comment on bug #172861
It works because "os.stat(filename)" works for both names.
However, we have already fixed the second half of your bug. bzr.dev now recognizes when the target file already exists, so you don't have problems with the 'limbo' directory. And instead you just get a path conflict, and one file will be renamed to "bZR.moved"
So this is half 'Fix Released'. But I'm marking it Triaged because the title is about the "commit" code issues.