test-issue6528.t
168 lines
| 3.9 KiB
| text/troff
|
Tads3Lexer
/ tests / test-issue6528.t
r48354 | =============================================================== | |||
Test non-regression on the corruption associated with issue6528 | ||||
=============================================================== | ||||
Setup | ||||
----- | ||||
$ hg init base-repo | ||||
$ cd base-repo | ||||
$ cat <<EOF > a.txt | ||||
> 1 | ||||
> 2 | ||||
> 3 | ||||
> 4 | ||||
> 5 | ||||
> 6 | ||||
> EOF | ||||
$ hg add a.txt | ||||
$ hg commit -m 'c_base_c - create a.txt' | ||||
Modify a.txt | ||||
$ sed -e 's/1/foo/' a.txt > a.tmp; mv a.tmp a.txt | ||||
$ hg commit -m 'c_modify_c - modify a.txt' | ||||
Modify and rename a.txt to b.txt | ||||
$ hg up -r "desc('c_base_c')" | ||||
1 files updated, 0 files merged, 0 files removed, 0 files unresolved | ||||
$ sed -e 's/6/bar/' a.txt > a.tmp; mv a.tmp a.txt | ||||
$ hg mv a.txt b.txt | ||||
$ hg commit -m 'c_rename_c - rename and modify a.txt to b.txt' | ||||
created new head | ||||
Merge each branch | ||||
$ hg merge -r "desc('c_modify_c')" | ||||
merging b.txt and a.txt to b.txt | ||||
0 files updated, 1 files merged, 0 files removed, 0 files unresolved | ||||
(branch merge, don't forget to commit) | ||||
$ hg commit -m 'c_merge_c: commit merge' | ||||
$ hg debugrevlogindex b.txt | ||||
rev linkrev nodeid p1 p2 | ||||
0 2 05b806ebe5ea 000000000000 000000000000 | ||||
1 3 a58b36ad6b65 000000000000 05b806ebe5ea | ||||
Check commit Graph | ||||
$ hg log -G | ||||
@ changeset: 3:a1cc2bdca0aa | ||||
|\ tag: tip | ||||
| | parent: 2:615c6ccefd15 | ||||
| | parent: 1:373d507f4667 | ||||
| | user: test | ||||
| | date: Thu Jan 01 00:00:00 1970 +0000 | ||||
| | summary: c_merge_c: commit merge | ||||
| | | ||||
| o changeset: 2:615c6ccefd15 | ||||
| | parent: 0:f5a5a568022f | ||||
| | user: test | ||||
| | date: Thu Jan 01 00:00:00 1970 +0000 | ||||
| | summary: c_rename_c - rename and modify a.txt to b.txt | ||||
| | | ||||
o | changeset: 1:373d507f4667 | ||||
|/ user: test | ||||
| date: Thu Jan 01 00:00:00 1970 +0000 | ||||
| summary: c_modify_c - modify a.txt | ||||
| | ||||
o changeset: 0:f5a5a568022f | ||||
user: test | ||||
date: Thu Jan 01 00:00:00 1970 +0000 | ||||
summary: c_base_c - create a.txt | ||||
$ hg cat -r . b.txt | ||||
foo | ||||
2 | ||||
3 | ||||
4 | ||||
5 | ||||
bar | ||||
$ cat b.txt | ||||
foo | ||||
2 | ||||
3 | ||||
4 | ||||
5 | ||||
bar | ||||
$ cd .. | ||||
Check the lack of corruption | ||||
---------------------------- | ||||
$ hg clone --pull base-repo cloned | ||||
requesting all changes | ||||
adding changesets | ||||
adding manifests | ||||
adding file changes | ||||
added 4 changesets with 4 changes to 2 files | ||||
new changesets f5a5a568022f:a1cc2bdca0aa | ||||
updating to branch default | ||||
1 files updated, 0 files merged, 0 files removed, 0 files unresolved | ||||
$ cd cloned | ||||
$ hg up -r "desc('c_merge_c')" | ||||
0 files updated, 0 files merged, 0 files removed, 0 files unresolved | ||||
Status is buggy, even with debugrebuilddirstate | ||||
$ hg cat -r . b.txt | ||||
foo | ||||
2 | ||||
3 | ||||
4 | ||||
5 | ||||
bar | ||||
$ cat b.txt | ||||
foo | ||||
2 | ||||
3 | ||||
4 | ||||
5 | ||||
bar | ||||
$ hg status | ||||
$ hg debugrebuilddirstate | ||||
$ hg status | ||||
the history was altered | ||||
in theory p1/p2 order does not matter but in practice p1 == nullid is used as a | ||||
marker that some metadata are present and should be fetched. | ||||
$ hg debugrevlogindex b.txt | ||||
rev linkrev nodeid p1 p2 | ||||
0 2 05b806ebe5ea 000000000000 000000000000 | ||||
r48355 | 1 3 a58b36ad6b65 000000000000 05b806ebe5ea | |||
r48354 | ||||
Check commit Graph | ||||
$ hg log -G | ||||
@ changeset: 3:a1cc2bdca0aa | ||||
|\ tag: tip | ||||
| | parent: 2:615c6ccefd15 | ||||
| | parent: 1:373d507f4667 | ||||
| | user: test | ||||
| | date: Thu Jan 01 00:00:00 1970 +0000 | ||||
| | summary: c_merge_c: commit merge | ||||
| | | ||||
| o changeset: 2:615c6ccefd15 | ||||
| | parent: 0:f5a5a568022f | ||||
| | user: test | ||||
| | date: Thu Jan 01 00:00:00 1970 +0000 | ||||
| | summary: c_rename_c - rename and modify a.txt to b.txt | ||||
| | | ||||
o | changeset: 1:373d507f4667 | ||||
|/ user: test | ||||
| date: Thu Jan 01 00:00:00 1970 +0000 | ||||
| summary: c_modify_c - modify a.txt | ||||
| | ||||
o changeset: 0:f5a5a568022f | ||||
user: test | ||||
date: Thu Jan 01 00:00:00 1970 +0000 | ||||
summary: c_base_c - create a.txt | ||||