##// END OF EJS Templates
bdiff.bdiff: release the GIL before doing expensive diff operations...
bdiff.bdiff: release the GIL before doing expensive diff operations This means that threaded webservers will have more of a chance of doing something useful while the C extension is busy computing a delta. Not doing this was causing problems for Google Code with a 25 meg text file that takes O(7 minutes) to deltify.

File last commit:

r15673:d550168f stable
r16477:70b5e25f stable
Show More
test-casecollision-merge.t
109 lines | 2.1 KiB | text/troff | Tads3Lexer
/ tests / test-casecollision-merge.t
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