test-narrow-merge-outside.t
111 lines
| 4.4 KiB
| text/troff
|
Tads3Lexer
/ tests / test-narrow-merge-outside.t
r49592 | =================================================================== | |||
Test merge behavior with narrow for item outside of the narrow spec | ||||
=================================================================== | ||||
This test currently check for simple "outside of narrow" merge case. I suspect | ||||
there might be more corner case that need testing, so extending this tests, or | ||||
replacing it by a more "generative" version, comparing behavior with and without narow. | ||||
This the feature is currently working with flat manifest only. This is the only | ||||
case tested. Consider using test-case if tree start supporting this case of | ||||
merge. | ||||
Create some initial setup | ||||
$ . "$TESTDIR/narrow-library.sh" | ||||
$ hg init server | ||||
$ echo root > server/root | ||||
$ mkdir server/inside | ||||
$ mkdir server/outside | ||||
$ echo babar > server/inside/inside-change | ||||
$ echo pom > server/outside/outside-changing | ||||
$ echo arthur > server/outside/outside-removed | ||||
$ hg -R server add server/ | ||||
adding server/inside/inside-change | ||||
adding server/outside/outside-changing | ||||
adding server/outside/outside-removed | ||||
adding server/root | ||||
$ hg -R server commit -m root | ||||
$ hg clone ssh://user@dummy/server client --narrow --include inside | ||||
requesting all changes | ||||
adding changesets | ||||
adding manifests | ||||
adding file changes | ||||
added 1 changesets with 1 changes to 1 files | ||||
new changesets a0c415d360e5 | ||||
updating to branch default | ||||
1 files updated, 0 files merged, 0 files removed, 0 files unresolved | ||||
"trivial" change outside of narrow spec on the server | ||||
$ echo zephir > server/outside/outside-added | ||||
$ hg -R server add server/outside/outside-added | ||||
$ echo flore > server/outside/outside-changing | ||||
$ hg -R server remove server/outside/outside-removed | ||||
$ hg -R server commit -m "outside change" | ||||
Merge them with some unrelated local change | ||||
$ echo celeste > client/inside/inside-change | ||||
$ hg -R client commit -m "inside change" | ||||
$ hg -R client pull | ||||
pulling from ssh://user@dummy/server | ||||
searching for changes | ||||
adding changesets | ||||
adding manifests | ||||
adding file changes | ||||
added 1 changesets with 0 changes to 0 files (+1 heads) | ||||
new changesets f9ec5453023e | ||||
(run 'hg heads' to see heads, 'hg merge' to merge) | ||||
$ hg -R client merge | ||||
0 files updated, 0 files merged, 0 files removed, 0 files unresolved | ||||
(branch merge, don't forget to commit) | ||||
$ hg -R client ci -m 'merge changes' | ||||
$ hg -R client push -r . | ||||
pushing to ssh://user@dummy/server | ||||
searching for changes | ||||
remote: adding changesets | ||||
remote: adding manifests | ||||
remote: adding file changes | ||||
remote: added 2 changesets with 1 changes to 1 files | ||||
Checking result | ||||
--------------- | ||||
general sentry of all output | ||||
$ hg --repository server manifest --debug --rev 0 | ||||
360afd990eeff79e4a7f9f3ded5ecd7bc2fd3b59 644 inside/inside-change | ||||
7db95ce5cd8e734ad12e3f5f37779a08070a1399 644 outside/outside-changing | ||||
1591f6db41a30b68bd94ddccf4a4ce4f4fbe2a44 644 outside/outside-removed | ||||
50ecbc31c0e82dd60c2747c434d1f11b85c0e178 644 root | ||||
$ hg --repository server manifest --debug --rev 1 | ||||
360afd990eeff79e4a7f9f3ded5ecd7bc2fd3b59 644 inside/inside-change | ||||
486c008d6dddcaeb5e5f99556a121800cdcfb149 644 outside/outside-added | ||||
153d7af5e4f53f44475bc0ff2b806c86f019eda4 644 outside/outside-changing | ||||
50ecbc31c0e82dd60c2747c434d1f11b85c0e178 644 root | ||||
$ hg --repository server manifest --debug --rev 2 | ||||
1b3ab69c6c847abc8fd25537241fedcd4d188668 644 inside/inside-change | ||||
7db95ce5cd8e734ad12e3f5f37779a08070a1399 644 outside/outside-changing | ||||
1591f6db41a30b68bd94ddccf4a4ce4f4fbe2a44 644 outside/outside-removed | ||||
50ecbc31c0e82dd60c2747c434d1f11b85c0e178 644 root | ||||
$ hg --repository server manifest --debug --rev 3 | ||||
1b3ab69c6c847abc8fd25537241fedcd4d188668 644 inside/inside-change | ||||
486c008d6dddcaeb5e5f99556a121800cdcfb149 644 outside/outside-added | ||||
153d7af5e4f53f44475bc0ff2b806c86f019eda4 644 outside/outside-changing | ||||
50ecbc31c0e82dd60c2747c434d1f11b85c0e178 644 root | ||||
The file changed outside should be changed by the merge | ||||
$ hg --repository server manifest --debug --rev 'desc("inside change")' | grep outside-changing | ||||
7db95ce5cd8e734ad12e3f5f37779a08070a1399 644 outside/outside-changing | ||||
$ hg --repository server manifest --debug --rev 'desc("outside change")' | grep outside-changing | ||||
153d7af5e4f53f44475bc0ff2b806c86f019eda4 644 outside/outside-changing | ||||
$ hg --repository server manifest --debug --rev 'desc("merge")' | grep outside-changing | ||||
153d7af5e4f53f44475bc0ff2b806c86f019eda4 644 outside/outside-changing | ||||