merge: remember rename copies and parents properly on commit
record copies in dirstate even if rename was remote
this lets us record it properly at commit
teach checkfilemerge about copies, including merge cases
pull old copy code out of commit
extend rename-merge1 test to show file index
% init
% commit
adding a
% annotate -c
8435f90966e4: a
% annotate -d
Thu Jan 01 00:00:01 1970 +0000: a
% annotate -n
0: a
% annotate -u
nobody: a
% annotate -cdnu
nobody 0 8435f90966e4 Thu Jan 01 00:00:01 1970 +0000: a
% annotate b
2: a
2: a
2: a
3: b
3: b
3: b
% annotate -nf b
0 a: a
1 a: a
1 a: a
3 b: b
3 b: b
3 b: b
1 files updated, 0 files merged, 0 files removed, 0 files unresolved
merging b
0 files updated, 1 files merged, 0 files removed, 0 files unresolved
(branch merge, don't forget to commit)
% annotate after merge
0 a: a
1 a: a
1 a: a
3 b: b
4 b: c
3 b: b
0 files updated, 0 files merged, 1 files removed, 0 files unresolved
merging b
0 files updated, 1 files merged, 0 files removed, 0 files unresolved
(branch merge, don't forget to commit)
% annotate after rename merge
0 a: a
6 b: z
1 a: a
3 b: b
4 b: c
3 b: b
7 b: d