bad conflict indication on unshelving partial shelve
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
Bazaar |
Confirmed
|
Medium
|
Unassigned | ||
Breezy |
Triaged
|
Low
|
Unassigned |
Bug Description
Steps to reproduce.
1. Create text file and commit it, content of which is
Line01 |A
Line02 |B
Line03 |C
Line04 |D
2. Edit this file as
Line01 |A
Line02 |x
Line03 |y
Line04 |D
3. Execute shelve, and shelve *line2 only*, by using change editor.
Line01 |A
Line02 |B
Line03 |y
Line04 |D
it seems to be done successfully, but this shelf can't be unshelved correctly.
Result of unshelve is
Line01 |A
Line02 |<<<<<<<
Line03 |B
Line04 |<<<<<<< TREE
Line05 |y
Line06 |=======
Line07 |C
Line08 |=======
Line09 |x
Line10 |y
Line11 |>>>>>>>
Line12 |>>>>>>> MERGE-SOURCE
Line13 |D
VERSION INFO:
Bazaar (bzr) 2.4b1
Python interpreter: C:\DEVELOP\
Python standard library: C:\DEVELOP\
Platform: Windows-7-6.1.7600
bzrlib: C:\DEVELOP\
Bazaar configuration: C:\Users\
Bazaar log file: C:\Users\
summary: |
- shelve : Failed to unshelve changes which was made by partial hunk - shelving. + bad conflict indication on unshelving partial shelve |
Changed in bzr: | |
importance: | Undecided → Medium |
status: | Invalid → Confirmed |
tags: | added: check-for-breezy |
Changed in brz: | |
status: | New → Triaged |
importance: | Undecided → High |
importance: | High → Low |
tags: |
added: shelf removed: check-for-breezy |
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1
On 05/16/2011 06:59 AM, iwata wrote:
> Public bug reported:
>
> Steps to reproduce.
>
> 1. Create text file and commit it, content of which is
> Line01 |A
> Line02 |B
> Line03 |C
> Line04 |D
>
> 2. Edit this file as
> Line01 |A
> Line02 |x
> Line03 |y
> Line04 |D
>
> 3. Execute shelve, and shelve *line2 only*, by using change editor.
> Line01 |A
> Line02 |B
> Line03 |y
> Line04 |D
>
> it seems to be done successfully, but this shelf can't be unshelved correctly.
> Result of unshelve is
> Line01 |A
> Line02 |<<<<<<<
> Line03 |B
> Line04 |<<<<<<< TREE
> Line05 |y
> Line06 |=======
> Line07 |C
> Line08 |=======
> Line09 |x
> Line10 |y
> Line11 |>>>>>>>
> Line12 |>>>>>>> MERGE-SOURCE
> Line13 |D
You are shelving a change that conflicts with your working tree. It will
be checked out with a conflict. I don't think this is a bug.
Specifically create a file ABCD. Edit the file to AByD. Shelve that
change. Edit the file to AxCD. Unshelve, and you will get a conflict.
This is the same behavior as merge.
bzr init A
echo -e "A\nB\nC\nD\n" > A/foo
bzr add A
bzr commit -m "ABCD" A
bzr branch A B
echo -e "A\nB\ny\nD\n" > A/foo
bzr commit -m "AByD" A
echo -e "A\nx\nC\nD\n" > B/foo
bzr commit -m "AxCD" B
cd B
bzr merge ../A # Conflicts in the same way
This is intentional behavior. If you edit lines that "touch" eachother,
you get a merge conflict, because we can't cleanly tell that those are
not meant to overlap.
status: Invalid enigmail. mozdev. org/
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.10 (GNU/Linux)
Comment: Using GnuPG with Mozilla - http://
iEYEARECAAYFAk3 Q1Y8ACgkQJdeBCY SNAAO4UwCgq6WF7 fnXpEA9mxtUrM2F 3u8L jjirshl0X7JnEY1 zX
HsUAn3MsFSG3rGe
=ThxZ
-----END PGP SIGNATURE-----