extdiff: preserve execute-bit across copies (
issue1562)
Bug report and test by Mads Kiilerich <mads@kiilerich.com>
@ 7: H
|
| o 6: G
|/|
o | 5: F
| |
| o 4: E
|/
| o 3: D
| |
| o 2: C
| |
| o 1: B
|/
o 0: A
% Rebasing B onto H
3 files updated, 0 files merged, 2 files removed, 0 files unresolved
saving bundle to
adding branch
adding changesets
adding manifests
adding file changes
added 5 changesets with 6 changes to 6 files (+1 heads)
rebase completed
@ 5: Collapsed revision
| * B
| * C
| * D
o 4: H
|
| o 3: G
|/|
o | 2: F
| |
| o 1: E
|/
o 0: A
Expected A, B, C, D, F, H
A
B
C
D
F
H
% Rebasing G onto H
saving bundle to
adding branch
adding changesets
adding manifests
adding file changes
added 3 changesets with 3 changes to 3 files (+1 heads)
rebase completed
@ 6: Collapsed revision
| * E
| * G
o 5: H
|
o 4: F
|
| o 3: D
| |
| o 2: C
| |
| o 1: B
|/
o 0: A
Expected A, E, F, H
A
E
F
H
@ 7: H
|
| o 6: G
| |\
| | o 5: F
| | |
| | o 4: E
| | |
| o | 3: D
| |\|
| o | 2: C
|/ /
| o 1: B
|/
o 0: A
% Rebase and collapse - more than one external (fail)
abort: unable to collapse, there is more than one external parent
% Rebase and collapse - E onto H
saving bundle to
adding branch
adding changesets
adding manifests
adding file changes
added 2 changesets with 3 changes to 3 files
rebase completed
@ 5: Collapsed revision
|\ * E
| | * F
| | * G
| o 4: H
| |
o | 3: D
|\ \
| o | 2: C
| |/
o / 1: B
|/
o 0: A
Expected A, B, C, E, F, H
A
B
C
E
F
H
@ 8: I
|
| o 7: H
| |\
| | o 6: G
| | |
| | o 5: F
| | |
| | o 4: E
| | |
| o | 3: D
| |\|
| o | 2: C
|/ /
| o 1: B
|/
o 0: A
% Rebase and collapse - E onto I
merging E
warning: conflicts during merge.
merging E failed!
abort: fix unresolved conflicts with hg resolve then run hg rebase --continue
% Fix conflict and continue
saving bundle to
adding branch
adding changesets
adding manifests
adding file changes
added 2 changesets with 3 changes to 3 files
rebase completed
@ 5: Collapsed revision
|\ * E
| | * F
| | * G
| | * H
| o 4: I
| |
o | 3: D
|\ \
| o | 2: C
| |/
o / 1: B
|/
o 0: A
Expected A, B, C, E, G, I
A
B
C
E
G
I
Cat E:
Resolved merge
@ 5: F
|
| o 4: E
| |\
| | o 3: D
| | |
| o | 2: C
| |/
| o 1: B
|/
o 0: A
% Rebase and collapse - B onto F
saving bundle to
adding branch
adding changesets
adding manifests
adding file changes
added 2 changesets with 4 changes to 4 files
rebase completed
@ 2: Collapsed revision
| * B
| * C
| * D
| * E
o 1: F
|
o 0: A
Expected A, B, C, D, F
A
B
C
D
F