annotate tests/test-merge-symlinks.t @ 16282:50247a7a9983 stable

largefiles: use 'dirstate.dirs()' for 'directory pattern' relation check original implementation queries whether specified pattern is related or not to largefiles in target context by 'dirstate.__contains__()'. but this can't recognize 'directory pattern' correctly, so this patch uses 'dirstate.dirs()' for it. this patch uses dirstate instead of lfdirstate in 'working' route (second patch hunk for 'hgext/largefiles/reposetup.py'), because 'dirs()' information may be already built for dirstate but not yet for lfdirstate at this point. this prevents lfdirstate from building up and having 'dirs()' information.
author FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
date Thu, 22 Mar 2012 23:58:47 +0900
parents e0348815e806
children 91dc9587862e
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
15441
e0348815e806 tests: use 'hghave symlink' for tests using symlinks
Mads Kiilerich <mads@kiilerich.com>
parents: 14116
diff changeset
1 $ "$TESTDIR/hghave" symlink || exit 80
5391
786c1206a029 Test *_ISLINK merge environment vars
Patrick Mezard <pmezard@gmail.com>
parents:
diff changeset
2
12459
15f07e8e4742 tests: unify test-merge-symlinks
Matt Mackall <mpm@selenic.com>
parents: 7080
diff changeset
3 $ cat > echo.py <<EOF
15f07e8e4742 tests: unify test-merge-symlinks
Matt Mackall <mpm@selenic.com>
parents: 7080
diff changeset
4 > #!/usr/bin/env python
15f07e8e4742 tests: unify test-merge-symlinks
Matt Mackall <mpm@selenic.com>
parents: 7080
diff changeset
5 > import os, sys
15f07e8e4742 tests: unify test-merge-symlinks
Matt Mackall <mpm@selenic.com>
parents: 7080
diff changeset
6 > try:
15f07e8e4742 tests: unify test-merge-symlinks
Matt Mackall <mpm@selenic.com>
parents: 7080
diff changeset
7 > import msvcrt
15f07e8e4742 tests: unify test-merge-symlinks
Matt Mackall <mpm@selenic.com>
parents: 7080
diff changeset
8 > msvcrt.setmode(sys.stdout.fileno(), os.O_BINARY)
15f07e8e4742 tests: unify test-merge-symlinks
Matt Mackall <mpm@selenic.com>
parents: 7080
diff changeset
9 > msvcrt.setmode(sys.stderr.fileno(), os.O_BINARY)
15f07e8e4742 tests: unify test-merge-symlinks
Matt Mackall <mpm@selenic.com>
parents: 7080
diff changeset
10 > except ImportError:
15f07e8e4742 tests: unify test-merge-symlinks
Matt Mackall <mpm@selenic.com>
parents: 7080
diff changeset
11 > pass
15f07e8e4742 tests: unify test-merge-symlinks
Matt Mackall <mpm@selenic.com>
parents: 7080
diff changeset
12 >
15f07e8e4742 tests: unify test-merge-symlinks
Matt Mackall <mpm@selenic.com>
parents: 7080
diff changeset
13 > for k in ('HG_FILE', 'HG_MY_ISLINK', 'HG_OTHER_ISLINK', 'HG_BASE_ISLINK'):
15f07e8e4742 tests: unify test-merge-symlinks
Matt Mackall <mpm@selenic.com>
parents: 7080
diff changeset
14 > print k, os.environ[k]
15f07e8e4742 tests: unify test-merge-symlinks
Matt Mackall <mpm@selenic.com>
parents: 7080
diff changeset
15 > EOF
7080
a6477aa893b8 tests: Windows compatibility fixes
Patrick Mezard <pmezard@gmail.com>
parents: 5408
diff changeset
16
12459
15f07e8e4742 tests: unify test-merge-symlinks
Matt Mackall <mpm@selenic.com>
parents: 7080
diff changeset
17 Create 2 heads containing the same file, once as
15f07e8e4742 tests: unify test-merge-symlinks
Matt Mackall <mpm@selenic.com>
parents: 7080
diff changeset
18 a file, once as a link. Bundle was generated with:
5391
786c1206a029 Test *_ISLINK merge environment vars
Patrick Mezard <pmezard@gmail.com>
parents:
diff changeset
19
5408
36794dbe66a3 Test workingctx exec/link bit for copies.
Patrick Mezard <pmezard@gmail.com>
parents: 5391
diff changeset
20 # hg init t
36794dbe66a3 Test workingctx exec/link bit for copies.
Patrick Mezard <pmezard@gmail.com>
parents: 5391
diff changeset
21 # cd t
36794dbe66a3 Test workingctx exec/link bit for copies.
Patrick Mezard <pmezard@gmail.com>
parents: 5391
diff changeset
22 # echo a > a
36794dbe66a3 Test workingctx exec/link bit for copies.
Patrick Mezard <pmezard@gmail.com>
parents: 5391
diff changeset
23 # hg ci -qAm t0 -d '0 0'
36794dbe66a3 Test workingctx exec/link bit for copies.
Patrick Mezard <pmezard@gmail.com>
parents: 5391
diff changeset
24 # echo l > l
36794dbe66a3 Test workingctx exec/link bit for copies.
Patrick Mezard <pmezard@gmail.com>
parents: 5391
diff changeset
25 # hg ci -qAm t1 -d '1 0'
36794dbe66a3 Test workingctx exec/link bit for copies.
Patrick Mezard <pmezard@gmail.com>
parents: 5391
diff changeset
26 # hg up -C 0
36794dbe66a3 Test workingctx exec/link bit for copies.
Patrick Mezard <pmezard@gmail.com>
parents: 5391
diff changeset
27 # ln -s a l
36794dbe66a3 Test workingctx exec/link bit for copies.
Patrick Mezard <pmezard@gmail.com>
parents: 5391
diff changeset
28 # hg ci -qAm t2 -d '2 0'
36794dbe66a3 Test workingctx exec/link bit for copies.
Patrick Mezard <pmezard@gmail.com>
parents: 5391
diff changeset
29 # echo l2 > l2
36794dbe66a3 Test workingctx exec/link bit for copies.
Patrick Mezard <pmezard@gmail.com>
parents: 5391
diff changeset
30 # hg ci -qAm t3 -d '3 0'
36794dbe66a3 Test workingctx exec/link bit for copies.
Patrick Mezard <pmezard@gmail.com>
parents: 5391
diff changeset
31
12459
15f07e8e4742 tests: unify test-merge-symlinks
Matt Mackall <mpm@selenic.com>
parents: 7080
diff changeset
32 $ hg init t
15f07e8e4742 tests: unify test-merge-symlinks
Matt Mackall <mpm@selenic.com>
parents: 7080
diff changeset
33 $ cd t
14116
cd3032437064 tests: move test bundles in a bundles/ subdirectory
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 13439
diff changeset
34 $ hg -q pull "$TESTDIR/bundles/test-merge-symlinks.hg"
12459
15f07e8e4742 tests: unify test-merge-symlinks
Matt Mackall <mpm@selenic.com>
parents: 7080
diff changeset
35 $ hg up -C 3
15f07e8e4742 tests: unify test-merge-symlinks
Matt Mackall <mpm@selenic.com>
parents: 7080
diff changeset
36 3 files updated, 0 files merged, 0 files removed, 0 files unresolved
15f07e8e4742 tests: unify test-merge-symlinks
Matt Mackall <mpm@selenic.com>
parents: 7080
diff changeset
37
15f07e8e4742 tests: unify test-merge-symlinks
Matt Mackall <mpm@selenic.com>
parents: 7080
diff changeset
38 Merge them and display *_ISLINK vars
15f07e8e4742 tests: unify test-merge-symlinks
Matt Mackall <mpm@selenic.com>
parents: 7080
diff changeset
39 merge heads
5391
786c1206a029 Test *_ISLINK merge environment vars
Patrick Mezard <pmezard@gmail.com>
parents:
diff changeset
40
12788
de793925862e merge: implement --tool arguments using new ui.forcemerge configurable
Steve Borho <steve@borho.org>
parents: 12459
diff changeset
41 $ hg merge --tool="python ../echo.py"
13439
d724a69309e0 util: flush stdout before calling external processes
Mads Kiilerich <mads@kiilerich.com>
parents: 12788
diff changeset
42 merging l
12459
15f07e8e4742 tests: unify test-merge-symlinks
Matt Mackall <mpm@selenic.com>
parents: 7080
diff changeset
43 HG_FILE l
15f07e8e4742 tests: unify test-merge-symlinks
Matt Mackall <mpm@selenic.com>
parents: 7080
diff changeset
44 HG_MY_ISLINK 1
15f07e8e4742 tests: unify test-merge-symlinks
Matt Mackall <mpm@selenic.com>
parents: 7080
diff changeset
45 HG_OTHER_ISLINK 0
15f07e8e4742 tests: unify test-merge-symlinks
Matt Mackall <mpm@selenic.com>
parents: 7080
diff changeset
46 HG_BASE_ISLINK 0
15f07e8e4742 tests: unify test-merge-symlinks
Matt Mackall <mpm@selenic.com>
parents: 7080
diff changeset
47 0 files updated, 1 files merged, 0 files removed, 0 files unresolved
15f07e8e4742 tests: unify test-merge-symlinks
Matt Mackall <mpm@selenic.com>
parents: 7080
diff changeset
48 (branch merge, don't forget to commit)
5408
36794dbe66a3 Test workingctx exec/link bit for copies.
Patrick Mezard <pmezard@gmail.com>
parents: 5391
diff changeset
49
12459
15f07e8e4742 tests: unify test-merge-symlinks
Matt Mackall <mpm@selenic.com>
parents: 7080
diff changeset
50 Test working directory symlink bit calculation wrt copies,
15f07e8e4742 tests: unify test-merge-symlinks
Matt Mackall <mpm@selenic.com>
parents: 7080
diff changeset
51 especially on non-supporting systems.
15f07e8e4742 tests: unify test-merge-symlinks
Matt Mackall <mpm@selenic.com>
parents: 7080
diff changeset
52 merge working directory
15f07e8e4742 tests: unify test-merge-symlinks
Matt Mackall <mpm@selenic.com>
parents: 7080
diff changeset
53
15f07e8e4742 tests: unify test-merge-symlinks
Matt Mackall <mpm@selenic.com>
parents: 7080
diff changeset
54 $ hg up -C 2
15f07e8e4742 tests: unify test-merge-symlinks
Matt Mackall <mpm@selenic.com>
parents: 7080
diff changeset
55 1 files updated, 0 files merged, 1 files removed, 0 files unresolved
15f07e8e4742 tests: unify test-merge-symlinks
Matt Mackall <mpm@selenic.com>
parents: 7080
diff changeset
56 $ hg copy l l2
15f07e8e4742 tests: unify test-merge-symlinks
Matt Mackall <mpm@selenic.com>
parents: 7080
diff changeset
57 $ HGMERGE="python ../echo.py" hg up 3
13439
d724a69309e0 util: flush stdout before calling external processes
Mads Kiilerich <mads@kiilerich.com>
parents: 12788
diff changeset
58 merging l2
12459
15f07e8e4742 tests: unify test-merge-symlinks
Matt Mackall <mpm@selenic.com>
parents: 7080
diff changeset
59 HG_FILE l2
15f07e8e4742 tests: unify test-merge-symlinks
Matt Mackall <mpm@selenic.com>
parents: 7080
diff changeset
60 HG_MY_ISLINK 1
15f07e8e4742 tests: unify test-merge-symlinks
Matt Mackall <mpm@selenic.com>
parents: 7080
diff changeset
61 HG_OTHER_ISLINK 0
15f07e8e4742 tests: unify test-merge-symlinks
Matt Mackall <mpm@selenic.com>
parents: 7080
diff changeset
62 HG_BASE_ISLINK 0
15f07e8e4742 tests: unify test-merge-symlinks
Matt Mackall <mpm@selenic.com>
parents: 7080
diff changeset
63 0 files updated, 1 files merged, 0 files removed, 0 files unresolved