test-casecollision-merge.t
109 lines
| 2.1 KiB
| text/troff
|
Tads3Lexer
/ tests / test-casecollision-merge.t
FUJIWARA Katsunori
|
r15673 | run only on case-insensitive filesystems | ||
$ "$TESTDIR/hghave" icasefs || exit 80 | ||||
################################ | ||||
test for branch merging | ||||
################################ | ||||
$ hg init repo1 | ||||
$ cd repo1 | ||||
create base revision | ||||
$ echo base > base.txt | ||||
$ hg add base.txt | ||||
$ hg commit -m 'base' | ||||
add same file in different case on both heads | ||||
$ echo a > a.txt | ||||
$ hg add a.txt | ||||
$ hg commit -m 'add a.txt' | ||||
$ hg update 0 | ||||
0 files updated, 0 files merged, 1 files removed, 0 files unresolved | ||||
$ echo A > A.TXT | ||||
$ hg add A.TXT | ||||
$ hg commit -m 'add A.TXT' | ||||
created new head | ||||
merge another, and fail with case-folding collision | ||||
$ hg merge | ||||
abort: case-folding collision between a.txt and A.TXT | ||||
[255] | ||||
check clean-ness of working directory | ||||
$ hg status | ||||
$ hg parents --template '{rev}\n' | ||||
2 | ||||
$ cd .. | ||||
################################ | ||||
test for linear updates | ||||
################################ | ||||
$ hg init repo2 | ||||
$ cd repo2 | ||||
create base revision (rev:0) | ||||
$ hg import --bypass --exact - <<EOF | ||||
> # HG changeset patch | ||||
> # User null | ||||
> # Date 1 0 | ||||
> # Node ID e1bdf414b0ea9c831fd3a14e94a0a18e1410f98b | ||||
> # Parent 0000000000000000000000000000000000000000 | ||||
> add a | ||||
> | ||||
> diff --git a/a b/a | ||||
> new file mode 100644 | ||||
> --- /dev/null | ||||
> +++ b/a | ||||
> @@ -0,0 +1,3 @@ | ||||
> +this is line 1 | ||||
> +this is line 2 | ||||
> +this is line 3 | ||||
> EOF | ||||
applying patch from stdin | ||||
create rename revision (rev:1) | ||||
$ hg import --bypass --exact - <<EOF | ||||
> # HG changeset patch | ||||
> # User null | ||||
> # Date 1 0 | ||||
> # Node ID 9dca9f19bb91851bc693544b598b0740629edfad | ||||
> # Parent e1bdf414b0ea9c831fd3a14e94a0a18e1410f98b | ||||
> rename a to A | ||||
> | ||||
> diff --git a/a b/A | ||||
> rename from a | ||||
> rename to A | ||||
> EOF | ||||
applying patch from stdin | ||||
update to base revision, and modify 'a' | ||||
$ hg update 0 | ||||
1 files updated, 0 files merged, 0 files removed, 0 files unresolved | ||||
$ echo 'this is added line' >> a | ||||
update to current tip linearly | ||||
$ hg update 1 | ||||
merging a and A to A | ||||
0 files updated, 1 files merged, 0 files removed, 0 files unresolved | ||||
check status and contents of file | ||||
$ hg status -A | ||||
M A | ||||
$ cat A | ||||
this is line 1 | ||||
this is line 2 | ||||
this is line 3 | ||||
this is added line | ||||