bzr revert can't delete parent directory because it should delete children first
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
Bazaar |
Confirmed
|
Medium
|
Unassigned |
Bug Description
bzr 2.0.2 on Windows. I did wrong merge then trying to revert. Revert failed to remove newly added directories, because it should remove entries in different order: children at first then parents.
C:\work\
+N src/
+N src/common/
+N src/common/
Conflict adding files to src. Created directory.
Conflict because src is not versioned, but has versioned children. Versioned directory.
Conflict adding files to src/common. Created directory.
Conflict because src/common is not versioned, but has versioned children. Versioned directory.
Contents conflict in src/common/
5 conflicts encountered.
C:\work\
- src/
- src/common/
-D src/common/
Conflict: can't delete src because it is not empty. Not deleting.
Conflict: can't delete src/common because it is not empty. Not deleting.
C:\work\
Volume in drive C is XP
Volume Serial Number is B47B-BD42
Directory of C:\work\
07.11.2009 16:33 <DIR> .
07.11.2009 16:33 <DIR> ..
0 File(s) 0 bytes
2 Dir(s) 28 078 374 912 bytes free
As you can see src/common is empty after revert.
The last 2 conflicts (unable to delete directory) should not be here really. It's so silly.
Changed in bzr: | |
status: | New → Confirmed |
tags: | added: win32 |
description: | updated |
tags: | removed: win32 |
tags: | added: revert |
tags: | added: check-for-breezy |
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1
Alexander Belchenko wrote: MyCode\ xxx>:\work\ MyCode\ yyy\src\ common\ key_func. c --unco
> Public bug reported:
>
> bzr 2.0.2 on Windows. I did wrong merge then trying to revert. Revert
> failed to remove newly added directories, because it should remove
> entries in different order: children at first then parents.
>
> C:\work\
^- something strange with your copy and paste here.
> +N src/ key_func. c.OTHER key_func. c MyCode\ xxx>bzr revert key_func. c.OTHER MyCode\ xxx\src\ common> dir MyCode\ xxx\src\ common
> +N src/common/
> +N src/common/
> Conflict adding files to src. Created directory.
> Conflict because src is not versioned, but has versioned children. Versioned directory.
> Conflict adding files to src/common. Created directory.
> Conflict because src/common is not versioned, but has versioned children. Versioned directory.
> Contents conflict in src/common/
> 5 conflicts encountered.
>
> C:\work\
> - src/
> - src/common/
> -D src/common/
> Conflict: can't delete src because it is not empty. Not deleting.
> Conflict: can't delete src/common because it is not empty. Not deleting.
>
> C:\work\
> Volume in drive C is XP
> Volume Serial Number is B47B-BD42
>
> Directory of C:\work\
>
> 07.11.2009 16:33 <DIR> .
> 07.11.2009 16:33 <DIR> ..
> 0 File(s) 0 bytes
> 2 Dir(s) 28 078 374 912 bytes free
>
>
> As you can see src/common is empty after revert.
> The last 2 conflicts (unable to delete directory) should not be here really. It's so silly.
>
I can reproduce this result with:
bzr init A
bzr mkdir A/b
bzr mkdir A/b/c
echo foo > A/b/c/d
bzr add A
bzr commit A -m "initial a"
bzr branch A B
echo bar >> B/b/c/d
bzr commit B -m "modify d"
bzr rm A/b
bzr commit A -m "remove b"
cd A
bzr merge ../B
bzr revert
At this point I have the directory "b/c" but it certainly appears to be
empty. I've reproduced this on both Windows an Linux using bzr.dev.
John
=:->
status confirmed enigmail. mozdev. org/
importance medium
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.9 (Cygwin)
Comment: Using GnuPG with Mozilla - http://
iEYEARECAAYFAkr 1q/wACgkQJdeBCY SNAAP1DQCgupORz m+Df8NThVX/ pg+LBucy uxs2CnlKTZWSkHw 3T
ucAAmwXZuvgucgy
=BxlY
-----END PGP SIGNATURE-----