test-issue3084.t
405 lines
| 9.9 KiB
| text/troff
|
Tads3Lexer
/ tests / test-issue3084.t
Martin Geisler
|
r15663 | |||
$ echo "[extensions]" >> $HGRCPATH | ||||
$ echo "largefiles =" >> $HGRCPATH | ||||
Create the repository outside $HOME since largefiles write to | ||||
$HOME/.cache/largefiles. | ||||
$ hg init test | ||||
$ cd test | ||||
$ echo "root" > root | ||||
$ hg add root | ||||
Mads Kiilerich
|
r23417 | $ hg commit -m "Root commit" --config extensions.largefiles=! | ||
Ensure that .hg/largefiles isn't created before largefiles are added | ||||
#if unix-permissions | ||||
$ chmod 555 .hg | ||||
#endif | ||||
$ hg status | ||||
#if unix-permissions | ||||
$ chmod 755 .hg | ||||
#endif | ||||
$ test -f .hg/largefiles | ||||
[1] | ||||
Martin Geisler
|
r15663 | |||
$ echo "large" > foo | ||||
$ hg add --large foo | ||||
$ hg commit -m "Add foo as a largefile" | ||||
$ hg update -r 0 | ||||
getting changed largefiles | ||||
0 largefiles updated, 1 removed | ||||
Benoit Boissinot
|
r18459 | 0 files updated, 0 files merged, 1 files removed, 0 files unresolved | ||
Martin Geisler
|
r15663 | |||
$ echo "normal" > foo | ||||
$ hg add foo | ||||
$ hg commit -m "Add foo as normal file" | ||||
created new head | ||||
Normal file in the working copy, keeping the normal version: | ||||
$ echo "n" | hg merge --config ui.interactive=Yes | ||||
Mads Kiilerich
|
r19967 | remote turned local normal file foo into a largefile | ||
Mads Kiilerich
|
r22589 | use (l)argefile or keep (n)ormal file? n | ||
Martin von Zweigbergk
|
r23493 | 0 files updated, 0 files merged, 0 files removed, 0 files unresolved | ||
Martin Geisler
|
r15663 | (branch merge, don't forget to commit) | ||
$ hg status | ||||
$ cat foo | ||||
normal | ||||
Normal file in the working copy, keeping the largefile version: | ||||
$ hg update -q -C | ||||
$ echo "l" | hg merge --config ui.interactive=Yes | ||||
Mads Kiilerich
|
r19967 | remote turned local normal file foo into a largefile | ||
Mads Kiilerich
|
r22589 | use (l)argefile or keep (n)ormal file? l | ||
getting changed largefiles | ||||
FUJIWARA Katsunori
|
r22288 | 1 largefiles updated, 0 removed | ||
1 files updated, 0 files merged, 1 files removed, 0 files unresolved | ||||
Martin Geisler
|
r15663 | (branch merge, don't forget to commit) | ||
$ hg status | ||||
M foo | ||||
$ hg diff --nodates | ||||
diff -r fa129ab6b5a7 .hglf/foo | ||||
--- /dev/null | ||||
+++ b/.hglf/foo | ||||
@@ -0,0 +1,1 @@ | ||||
+7f7097b041ccf68cc5561e9600da4655d21c6d18 | ||||
diff -r fa129ab6b5a7 foo | ||||
--- a/foo | ||||
+++ /dev/null | ||||
@@ -1,1 +0,0 @@ | ||||
-normal | ||||
$ cat foo | ||||
large | ||||
Largefile in the working copy, keeping the normal version: | ||||
$ hg update -q -C -r 1 | ||||
$ echo "n" | hg merge --config ui.interactive=Yes | ||||
Mads Kiilerich
|
r19967 | remote turned local largefile foo into a normal file | ||
Mads Kiilerich
|
r22589 | keep (l)argefile or use (n)ormal file? n | ||
getting changed largefiles | ||||
FUJIWARA Katsunori
|
r22288 | 0 largefiles updated, 0 removed | ||
1 files updated, 0 files merged, 1 files removed, 0 files unresolved | ||||
Martin Geisler
|
r15663 | (branch merge, don't forget to commit) | ||
$ hg status | ||||
M foo | ||||
$ hg diff --nodates | ||||
diff -r ff521236428a .hglf/foo | ||||
--- a/.hglf/foo | ||||
+++ /dev/null | ||||
@@ -1,1 +0,0 @@ | ||||
-7f7097b041ccf68cc5561e9600da4655d21c6d18 | ||||
diff -r ff521236428a foo | ||||
--- /dev/null | ||||
+++ b/foo | ||||
@@ -0,0 +1,1 @@ | ||||
+normal | ||||
$ cat foo | ||||
normal | ||||
Largefile in the working copy, keeping the largefile version: | ||||
$ hg update -q -C -r 1 | ||||
$ echo "l" | hg merge --config ui.interactive=Yes | ||||
Mads Kiilerich
|
r19967 | remote turned local largefile foo into a normal file | ||
Mads Kiilerich
|
r22589 | keep (l)argefile or use (n)ormal file? l | ||
Martin von Zweigbergk
|
r23492 | 0 files updated, 0 files merged, 0 files removed, 0 files unresolved | ||
Martin Geisler
|
r15663 | (branch merge, don't forget to commit) | ||
$ hg status | ||||
$ cat foo | ||||
large | ||||
Mads Kiilerich
|
r16913 | |||
Mads Kiilerich
|
r19954 | Whatever ... commit something so we can invoke merge when updating | ||
$ hg commit -m '3: Merge' | ||||
Updating from largefile to normal - no reason to prompt | ||||
$ hg up -r 2 | ||||
getting changed largefiles | ||||
0 largefiles updated, 0 removed | ||||
1 files updated, 0 files merged, 1 files removed, 0 files unresolved | ||||
$ cat foo | ||||
normal | ||||
(the update above used to leave the working dir in a very weird state - clean it | ||||
$ hg up -qr null | ||||
$ hg up -qr 2 | ||||
) | ||||
Updating from normal to largefile - no reason to prompt | ||||
$ hg up -r 3 | ||||
getting changed largefiles | ||||
1 largefiles updated, 0 removed | ||||
1 files updated, 0 files merged, 1 files removed, 0 files unresolved | ||||
$ cat foo | ||||
large | ||||
Mads Kiilerich
|
r16913 | $ cd .. | ||
Mads Kiilerich
|
r19966 | |||
Systematic testing of merges involving largefiles: | ||||
Mads Kiilerich
|
r23417 | Ancestor: normal Parent: normal-id Parent: large result: large | ||
Ancestor: normal Parent: normal2 Parent: large result: ? | ||||
Ancestor: large Parent: large-id Parent: normal result: normal | ||||
Ancestor: large Parent: large2 Parent: normal result: ? | ||||
Mads Kiilerich
|
r19966 | |||
All cases should try merging both ways. | ||||
Prepare test repo: | ||||
$ hg init merges | ||||
$ cd merges | ||||
Matt Harbison
|
r21917 | |||
Mads Kiilerich
|
r23417 | prepare cases with "normal" ancestor: | ||
Matt Harbison
|
r21917 | |||
Mads Kiilerich
|
r23417 | $ hg up -qr null | ||
Mads Kiilerich
|
r19966 | $ echo normal > f | ||
Mads Kiilerich
|
r23417 | $ hg ci -Aqm "normal-ancestor" | ||
$ hg tag -l "normal-ancestor" | ||||
Mads Kiilerich
|
r19966 | $ touch f2 | ||
Mads Kiilerich
|
r23417 | $ hg ci -Aqm "normal-id" | ||
$ hg tag -l "normal-id" | ||||
Mads Kiilerich
|
r19966 | $ echo normal2 > f | ||
Mads Kiilerich
|
r23417 | $ hg ci -m "normal2" | ||
Mads Kiilerich
|
r19966 | $ hg tag -l "normal2" | ||
Mads Kiilerich
|
r23418 | $ echo normal > f | ||
$ hg ci -Aqm "normal-same" | ||||
$ hg tag -l "normal-same" | ||||
Mads Kiilerich
|
r23417 | $ hg up -qr "normal-ancestor" | ||
Mads Kiilerich
|
r19966 | $ hg rm f | ||
$ echo large > f | ||||
$ hg add --large f | ||||
Mads Kiilerich
|
r23417 | $ hg ci -qm "large" | ||
Mads Kiilerich
|
r19966 | $ hg tag -l "large" | ||
Mads Kiilerich
|
r23417 | prepare cases with "large" ancestor: | ||
Mads Kiilerich
|
r19966 | |||
Mads Kiilerich
|
r23417 | $ hg up -qr null | ||
Mads Kiilerich
|
r19966 | $ echo large > f | ||
$ hg add --large f | ||||
Mads Kiilerich
|
r23417 | $ hg ci -qm "large-ancestor" | ||
$ hg tag -l "large-ancestor" | ||||
Mads Kiilerich
|
r19966 | $ touch f2 | ||
Mads Kiilerich
|
r23417 | $ hg ci -Aqm "large-id" | ||
$ hg tag -l "large-id" | ||||
Mads Kiilerich
|
r19966 | $ echo large2 > f | ||
Mads Kiilerich
|
r23417 | $ hg ci -m "large2" | ||
Mads Kiilerich
|
r19966 | $ hg tag -l "large2" | ||
Mads Kiilerich
|
r23418 | $ echo large > f | ||
$ hg ci -Aqm "large-same" | ||||
$ hg tag -l "large-same" | ||||
Mads Kiilerich
|
r23417 | $ hg up -qr "large-ancestor" | ||
Mads Kiilerich
|
r19966 | $ hg rm f | ||
$ echo normal > f | ||||
Mads Kiilerich
|
r23417 | $ hg ci -qAm "normal" | ||
Mads Kiilerich
|
r19966 | $ hg tag -l "normal" | ||
Mads Kiilerich
|
r23417 | $ hg log -GT '{tags}' | ||
@ normal tip | ||||
| | ||||
Mads Kiilerich
|
r23418 | | o large-same | ||
| | | ||||
Mads Kiilerich
|
r23417 | | o large2 | ||
| | | ||||
| o large-id | ||||
|/ | ||||
o large-ancestor | ||||
o large | ||||
| | ||||
Mads Kiilerich
|
r23418 | | o normal-same | ||
| | | ||||
Mads Kiilerich
|
r23417 | | o normal2 | ||
| | | ||||
| o normal-id | ||||
|/ | ||||
o normal-ancestor | ||||
Mads Kiilerich
|
r19966 | |||
Mads Kiilerich
|
r23417 | |||
Ancestor: normal Parent: normal-id Parent: large result: large | ||||
$ hg up -Cqr normal-id | ||||
Mads Kiilerich
|
r19966 | $ hg merge -r large | ||
FUJIWARA Katsunori
|
r22288 | getting changed largefiles | ||
1 largefiles updated, 0 removed | ||||
Mads Kiilerich
|
r19966 | 1 files updated, 0 files merged, 1 files removed, 0 files unresolved | ||
(branch merge, don't forget to commit) | ||||
$ cat f | ||||
large | ||||
swap | ||||
$ hg up -Cqr large | ||||
Mads Kiilerich
|
r23417 | $ hg merge -r normal-id | ||
Mads Kiilerich
|
r19966 | 1 files updated, 0 files merged, 0 files removed, 0 files unresolved | ||
(branch merge, don't forget to commit) | ||||
$ cat f | ||||
large | ||||
Mads Kiilerich
|
r23418 | Ancestor: normal Parent: normal-same Parent: large result: large | ||
$ hg up -Cqr normal-same | ||||
$ hg merge -r large | ||||
getting changed largefiles | ||||
1 largefiles updated, 0 removed | ||||
1 files updated, 0 files merged, 1 files removed, 0 files unresolved | ||||
(branch merge, don't forget to commit) | ||||
$ cat f | ||||
large | ||||
swap | ||||
$ hg up -Cqr large | ||||
$ hg merge -r normal-same | ||||
Mads Kiilerich
|
r23420 | 1 files updated, 0 files merged, 0 files removed, 0 files unresolved | ||
Mads Kiilerich
|
r23418 | (branch merge, don't forget to commit) | ||
$ cat f | ||||
large | ||||
Mads Kiilerich
|
r19966 | Ancestor: normal Parent: normal2 Parent: large result: ? | ||
(annoying extra prompt ... but it do not do any serious harm) | ||||
$ hg up -Cqr normal2 | ||||
$ hg merge -r large | ||||
Mads Kiilerich
|
r19967 | remote turned local normal file f into a largefile | ||
use (l)argefile or keep (n)ormal file? l | ||||
FUJIWARA Katsunori
|
r22288 | getting changed largefiles | ||
1 largefiles updated, 0 removed | ||||
Mads Kiilerich
|
r19966 | 1 files updated, 0 files merged, 1 files removed, 0 files unresolved | ||
(branch merge, don't forget to commit) | ||||
$ cat f | ||||
large | ||||
$ hg up -Cqr normal2 | ||||
Martin von Zweigbergk
|
r23541 | $ echo n | hg merge -r large --config ui.interactive=Yes | ||
Mads Kiilerich
|
r22589 | remote turned local normal file f into a largefile | ||
use (l)argefile or keep (n)ormal file? n | ||||
Martin von Zweigbergk
|
r23493 | 0 files updated, 0 files merged, 0 files removed, 0 files unresolved | ||
Mads Kiilerich
|
r19966 | (branch merge, don't forget to commit) | ||
$ cat f | ||||
normal2 | ||||
swap | ||||
$ hg up -Cqr large | ||||
$ hg merge -r normal2 | ||||
Mads Kiilerich
|
r19967 | remote turned local largefile f into a normal file | ||
keep (l)argefile or use (n)ormal file? l | ||||
Martin von Zweigbergk
|
r23492 | 1 files updated, 0 files merged, 0 files removed, 0 files unresolved | ||
Mads Kiilerich
|
r19966 | (branch merge, don't forget to commit) | ||
$ cat f | ||||
large | ||||
$ hg up -Cqr large | ||||
Martin von Zweigbergk
|
r23541 | $ echo n | hg merge -r normal2 --config ui.interactive=Yes | ||
Mads Kiilerich
|
r22589 | remote turned local largefile f into a normal file | ||
keep (l)argefile or use (n)ormal file? n | ||||
getting changed largefiles | ||||
FUJIWARA Katsunori
|
r22288 | 0 largefiles updated, 0 removed | ||
2 files updated, 0 files merged, 1 files removed, 0 files unresolved | ||||
Mads Kiilerich
|
r19966 | (branch merge, don't forget to commit) | ||
$ cat f | ||||
normal2 | ||||
Mads Kiilerich
|
r23417 | Ancestor: large Parent: large-id Parent: normal result: normal | ||
Mads Kiilerich
|
r19966 | |||
Mads Kiilerich
|
r23417 | $ hg up -Cqr large-id | ||
Mads Kiilerich
|
r19966 | $ hg merge -r normal | ||
FUJIWARA Katsunori
|
r22288 | getting changed largefiles | ||
0 largefiles updated, 0 removed | ||||
Mads Kiilerich
|
r19966 | 1 files updated, 0 files merged, 1 files removed, 0 files unresolved | ||
(branch merge, don't forget to commit) | ||||
$ cat f | ||||
normal | ||||
swap | ||||
$ hg up -Cqr normal | ||||
Mads Kiilerich
|
r23417 | $ hg merge -r large-id | ||
Mads Kiilerich
|
r19966 | 1 files updated, 0 files merged, 0 files removed, 0 files unresolved | ||
(branch merge, don't forget to commit) | ||||
$ cat f | ||||
normal | ||||
Mads Kiilerich
|
r23418 | Ancestor: large Parent: large-same Parent: normal result: normal | ||
$ hg up -Cqr large-same | ||||
$ hg merge -r normal | ||||
getting changed largefiles | ||||
Mads Kiilerich
|
r23419 | 0 largefiles updated, 0 removed | ||
1 files updated, 0 files merged, 1 files removed, 0 files unresolved | ||||
Mads Kiilerich
|
r23418 | (branch merge, don't forget to commit) | ||
$ cat f | ||||
Mads Kiilerich
|
r23419 | normal | ||
Mads Kiilerich
|
r23418 | |||
swap | ||||
$ hg up -Cqr normal | ||||
$ hg merge -r large-same | ||||
Mads Kiilerich
|
r23420 | 1 files updated, 0 files merged, 0 files removed, 0 files unresolved | ||
Mads Kiilerich
|
r23418 | (branch merge, don't forget to commit) | ||
$ cat f | ||||
Mads Kiilerich
|
r23419 | normal | ||
Mads Kiilerich
|
r23418 | |||
Mads Kiilerich
|
r19966 | Ancestor: large Parent: large2 Parent: normal result: ? | ||
(annoying extra prompt ... but it do not do any serious harm) | ||||
$ hg up -Cqr large2 | ||||
$ hg merge -r normal | ||||
Mads Kiilerich
|
r19967 | remote turned local largefile f into a normal file | ||
keep (l)argefile or use (n)ormal file? l | ||||
Martin von Zweigbergk
|
r23492 | 0 files updated, 0 files merged, 0 files removed, 0 files unresolved | ||
Mads Kiilerich
|
r19966 | (branch merge, don't forget to commit) | ||
$ cat f | ||||
large2 | ||||
$ hg up -Cqr large2 | ||||
Martin von Zweigbergk
|
r23541 | $ echo n | hg merge -r normal --config ui.interactive=Yes | ||
remote turned local largefile f into a normal file | ||||
keep (l)argefile or use (n)ormal file? n | ||||
Mads Kiilerich
|
r22589 | getting changed largefiles | ||
FUJIWARA Katsunori
|
r22288 | 0 largefiles updated, 0 removed | ||
1 files updated, 0 files merged, 1 files removed, 0 files unresolved | ||||
Mads Kiilerich
|
r19966 | (branch merge, don't forget to commit) | ||
$ cat f | ||||
normal | ||||
swap | ||||
$ hg up -Cqr normal | ||||
$ hg merge -r large2 | ||||
Mads Kiilerich
|
r19967 | remote turned local normal file f into a largefile | ||
use (l)argefile or keep (n)ormal file? l | ||||
FUJIWARA Katsunori
|
r22288 | getting changed largefiles | ||
1 largefiles updated, 0 removed | ||||
Mads Kiilerich
|
r19966 | 2 files updated, 0 files merged, 1 files removed, 0 files unresolved | ||
(branch merge, don't forget to commit) | ||||
$ cat f | ||||
large2 | ||||
$ hg up -Cqr normal | ||||
Martin von Zweigbergk
|
r23541 | $ echo n | hg merge -r large2 --config ui.interactive=Yes | ||
remote turned local normal file f into a largefile | ||||
use (l)argefile or keep (n)ormal file? n | ||||
Mads Kiilerich
|
r22589 | 1 files updated, 0 files merged, 0 files removed, 0 files unresolved | ||
Mads Kiilerich
|
r19966 | (branch merge, don't forget to commit) | ||
$ cat f | ||||
normal | ||||
$ cd .. | ||||