commit: fails to detect deletion of aliased file

Bug #172865 reported by David Roberts
2
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\bzr91>bzr init

G:\bzrtempco\bzr91>echo content > Bzr

G:\bzrtempco\bzr91>bzr add
added Bzr

G:\bzrtempco\bzr91>bzr commit -m"initial checkin"
Committing revision 1 to "G:/bzrtempco/bzr91/".
added Bzr
Committed revision 1.

G:\bzrtempco\bzr91>rename Bzr bZR

G:\bzrtempco\bzr91>bzr add
added bZR

G:\bzrtempco\bzr91>bzr commit -m"flipped case"
Committing revision 2 to "G:/bzrtempco/bzr91/".
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\bzr91>cd ..

G:\bzrtempco>bzr clone bzr91 bzr91clone
bzr: ERROR: Unable to delete transform temporary directory \\
            G:/bzrtempco/bzr91clone/.bzr/checkout/limbo.
    Please examine G:/bzrtempco/bzr91clone/.bzr/checkout/limbo \\
    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.

Revision history for this message
John A Meinel (jameinel) wrote :

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.

Changed in bzr:
importance: Undecided → Medium
status: New → Triaged
Martin Pool (mbp)
Changed in bzr:
status: Triaged → Confirmed
Jelmer Vernooij (jelmer)
tags: added: check-for-breezy
Jelmer Vernooij (jelmer)
tags: added: case-sensitivity
removed: check-for-breezy
Changed in brz:
status: New → Triaged
importance: Undecided → Medium
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers