##// END OF EJS Templates
parsers: add a C function to pack the dirstate...
parsers: add a C function to pack the dirstate This is about 9 times faster than the Python dirstate packing code. The relatively small speedup is due to the poor locality and memory access patterns caused by traversing dicts and other boxed Python values.

File last commit:

r16355:cb1475e7 stable
r16955:92e1c64b default
Show More
test-merge-types.t
108 lines | 2.8 KiB | text/troff | Tads3Lexer
/ tests / test-merge-types.t
Mads Kiilerich
tests: use 'hghave execbit' for tests that manipulate x bit in file system
r15442 $ "$TESTDIR/hghave" symlink execbit || exit 80
Mads Kiilerich
tests: use 'hghave symlink' for tests using symlinks
r15441
Adrian Buehlmann
combine tests
r12279 $ hg init
$ echo a > a
$ hg ci -Amadd
adding a
$ chmod +x a
$ hg ci -mexecutable
$ hg up 0
0 files updated, 0 files merged, 0 files removed, 0 files unresolved
$ rm a
$ ln -s symlink a
$ hg ci -msymlink
created new head
$ hg merge --debug
searching for copies back to rev 1
resolving manifests
Martin Geisler
merge: make debug output easier to read...
r15625 overwrite: False, partial: False
ancestor: c334dc3be0da, local: 521a1e40188f+, remote: 3574f3e69b1c
Adrian Buehlmann
combine tests
r12279 conflicting flags for a
(n)one, e(x)ec or sym(l)ink? n
a: update permissions -> e
updating: a 1/1 files (100.00%)
0 files updated, 0 files merged, 0 files removed, 0 files unresolved
(branch merge, don't forget to commit)
Symlink is local parent, executable is other:
$ if [ -h a ]; then
> echo a is a symlink
> $TESTDIR/readlink.py a
> elif [ -x a ]; then
> echo a is executable
> else
> echo "a has no flags (default for conflicts)"
> fi
a has no flags (default for conflicts)
$ hg update -C 1
1 files updated, 0 files merged, 0 files removed, 0 files unresolved
$ hg merge --debug
searching for copies back to rev 1
resolving manifests
Martin Geisler
merge: make debug output easier to read...
r15625 overwrite: False, partial: False
ancestor: c334dc3be0da, local: 3574f3e69b1c+, remote: 521a1e40188f
Adrian Buehlmann
combine tests
r12279 conflicting flags for a
(n)one, e(x)ec or sym(l)ink? n
a: remote is newer -> g
updating: a 1/1 files (100.00%)
getting a
1 files updated, 0 files merged, 0 files removed, 0 files unresolved
(branch merge, don't forget to commit)
Symlink is other parent, executable is local:
$ if [ -h a ]; then
> echo a is a symlink
> $TESTDIR/readlink.py a
> elif [ -x a ]; then
> echo a is executable
> else
> echo "a has no flags (default for conflicts)"
> fi
a has no flags (default for conflicts)
Matt Mackall
merge: handle linear update to symlink correctly (issue3316)...
r16255 Update to link without local change should get us a symlink (issue3316):
$ hg up -C 0
$ hg up
$ hg st
Update to link with local change should cause a merge prompt (issue3200):
$ hg up -C 0
1 files updated, 0 files merged, 0 files removed, 0 files unresolved
$ echo data > a
$ HGMERGE= hg up -y --debug
searching for copies back to rev 2
resolving manifests
overwrite: False, partial: False
ancestor: c334dc3be0da, local: c334dc3be0da+, remote: 521a1e40188f
a: versions differ -> m
preserving a for resolve of a
updating: a 1/1 files (100.00%)
Thomas Arendsen Hein
test-merge-types: allow different output with existing hgmerge (issue3346)...
r16355 (couldn't find merge tool hgmerge|tool hgmerge can't handle symlinks) (re)
Matt Mackall
merge: handle linear update to symlink correctly (issue3316)...
r16255 picked tool 'internal:prompt' for a (binary False symlink True)
no tool found to merge a
keep (l)ocal or take (o)ther? l
0 files updated, 1 files merged, 0 files removed, 0 files unresolved
$ hg diff --git
diff --git a/a b/a
old mode 120000
new mode 100644
--- a/a
+++ b/a
@@ -1,1 +1,1 @@
-symlink
\ No newline at end of file
+data