Mercurial > hg
annotate tests/test-subrepo-svn.t @ 12938:bf826c0b9537 stable
opener: check hardlink count reporting (issue1866)
The Linux CIFS kernel driver (even in 2.6.36) suffers from a hardlink
count blindness bug (lstat() returning 1 in st_nlink when it is expected
to return >1), which causes repository corruption if Mercurial running
on Linux pushes or commits to a hardlinked repository stored on a Windows
share, if that share is mounted using the CIFS driver.
This patch works around issue1866 and improves the workaround done in
50523b4407f6 to fix issue761, by teaching the opener to lazily execute a
runtime check (new function checknlink) to see if the hardlink count
reported by nlinks() can be trusted.
Since nlinks() is also known to return varying count values (1 or >1)
depending on whether the file is open or not and depending on what client
and server software combination is being used for accessing and serving
the Windows share, we deliberately open the file before calling nlinks() in
order to have a stable precondition. Trying to depend on the precondition
"file closed" would be fragile, as the file could have been opened very
easily somewhere else in the program.
author | Adrian Buehlmann <adrian@cadifra.com> |
---|---|
date | Sun, 07 Nov 2010 18:21:29 +0100 |
parents | 9bb180abc4d0 |
children | 82ca0c43bc44 |
rev | line source |
---|---|
11916
d1ea16ca6520
tests: unify test-subrepo-svn
Martin Geisler <mg@lazybytes.net>
parents:
11142
diff
changeset
|
1 $ "$TESTDIR/hghave" svn || exit 80 |
10178 | 2 |
11916
d1ea16ca6520
tests: unify test-subrepo-svn
Martin Geisler <mg@lazybytes.net>
parents:
11142
diff
changeset
|
3 $ fix_path() |
d1ea16ca6520
tests: unify test-subrepo-svn
Martin Geisler <mg@lazybytes.net>
parents:
11142
diff
changeset
|
4 > { |
d1ea16ca6520
tests: unify test-subrepo-svn
Martin Geisler <mg@lazybytes.net>
parents:
11142
diff
changeset
|
5 > tr '\\' / |
d1ea16ca6520
tests: unify test-subrepo-svn
Martin Geisler <mg@lazybytes.net>
parents:
11142
diff
changeset
|
6 > } |
d1ea16ca6520
tests: unify test-subrepo-svn
Martin Geisler <mg@lazybytes.net>
parents:
11142
diff
changeset
|
7 |
d1ea16ca6520
tests: unify test-subrepo-svn
Martin Geisler <mg@lazybytes.net>
parents:
11142
diff
changeset
|
8 SVN wants all paths to start with a slash. Unfortunately, Windows ones |
d1ea16ca6520
tests: unify test-subrepo-svn
Martin Geisler <mg@lazybytes.net>
parents:
11142
diff
changeset
|
9 don't. Handle that. |
10178 | 10 |
12366
c01dc9087d9a
tests: drop a bunch of sed calls from unified tests
Matt Mackall <mpm@selenic.com>
parents:
12365
diff
changeset
|
11 $ escapedwd=`pwd | fix_path` |
12404
f33a5d1c937e
test-subrepo-svn: restore expr functionality for solaris
Mads Kiilerich <mads@kiilerich.com>
parents:
12377
diff
changeset
|
12 $ expr "$escapedwd" : '\/' > /dev/null || escapedwd="/$escapedwd" |
11916
d1ea16ca6520
tests: unify test-subrepo-svn
Martin Geisler <mg@lazybytes.net>
parents:
11142
diff
changeset
|
13 $ escapedwd=`python -c "import urllib, sys; sys.stdout.write(urllib.quote(sys.argv[1]))" "$escapedwd"` |
d1ea16ca6520
tests: unify test-subrepo-svn
Martin Geisler <mg@lazybytes.net>
parents:
11142
diff
changeset
|
14 |
d1ea16ca6520
tests: unify test-subrepo-svn
Martin Geisler <mg@lazybytes.net>
parents:
11142
diff
changeset
|
15 create subversion repo |
10178 | 16 |
11916
d1ea16ca6520
tests: unify test-subrepo-svn
Martin Geisler <mg@lazybytes.net>
parents:
11142
diff
changeset
|
17 $ SVNREPO="file://$escapedwd/svn-repo" |
d1ea16ca6520
tests: unify test-subrepo-svn
Martin Geisler <mg@lazybytes.net>
parents:
11142
diff
changeset
|
18 $ WCROOT="`pwd`/svn-wc" |
d1ea16ca6520
tests: unify test-subrepo-svn
Martin Geisler <mg@lazybytes.net>
parents:
11142
diff
changeset
|
19 $ svnadmin create svn-repo |
d1ea16ca6520
tests: unify test-subrepo-svn
Martin Geisler <mg@lazybytes.net>
parents:
11142
diff
changeset
|
20 $ svn co "$SVNREPO" svn-wc |
d1ea16ca6520
tests: unify test-subrepo-svn
Martin Geisler <mg@lazybytes.net>
parents:
11142
diff
changeset
|
21 Checked out revision 0. |
d1ea16ca6520
tests: unify test-subrepo-svn
Martin Geisler <mg@lazybytes.net>
parents:
11142
diff
changeset
|
22 $ cd svn-wc |
d1ea16ca6520
tests: unify test-subrepo-svn
Martin Geisler <mg@lazybytes.net>
parents:
11142
diff
changeset
|
23 $ mkdir src |
d1ea16ca6520
tests: unify test-subrepo-svn
Martin Geisler <mg@lazybytes.net>
parents:
11142
diff
changeset
|
24 $ echo alpha > src/alpha |
d1ea16ca6520
tests: unify test-subrepo-svn
Martin Geisler <mg@lazybytes.net>
parents:
11142
diff
changeset
|
25 $ svn add src |
d1ea16ca6520
tests: unify test-subrepo-svn
Martin Geisler <mg@lazybytes.net>
parents:
11142
diff
changeset
|
26 A src |
d1ea16ca6520
tests: unify test-subrepo-svn
Martin Geisler <mg@lazybytes.net>
parents:
11142
diff
changeset
|
27 A src/alpha |
d1ea16ca6520
tests: unify test-subrepo-svn
Martin Geisler <mg@lazybytes.net>
parents:
11142
diff
changeset
|
28 $ mkdir externals |
d1ea16ca6520
tests: unify test-subrepo-svn
Martin Geisler <mg@lazybytes.net>
parents:
11142
diff
changeset
|
29 $ echo other > externals/other |
d1ea16ca6520
tests: unify test-subrepo-svn
Martin Geisler <mg@lazybytes.net>
parents:
11142
diff
changeset
|
30 $ svn add externals |
d1ea16ca6520
tests: unify test-subrepo-svn
Martin Geisler <mg@lazybytes.net>
parents:
11142
diff
changeset
|
31 A externals |
d1ea16ca6520
tests: unify test-subrepo-svn
Martin Geisler <mg@lazybytes.net>
parents:
11142
diff
changeset
|
32 A externals/other |
d1ea16ca6520
tests: unify test-subrepo-svn
Martin Geisler <mg@lazybytes.net>
parents:
11142
diff
changeset
|
33 $ svn ci -m 'Add alpha' |
d1ea16ca6520
tests: unify test-subrepo-svn
Martin Geisler <mg@lazybytes.net>
parents:
11142
diff
changeset
|
34 Adding externals |
d1ea16ca6520
tests: unify test-subrepo-svn
Martin Geisler <mg@lazybytes.net>
parents:
11142
diff
changeset
|
35 Adding externals/other |
d1ea16ca6520
tests: unify test-subrepo-svn
Martin Geisler <mg@lazybytes.net>
parents:
11142
diff
changeset
|
36 Adding src |
d1ea16ca6520
tests: unify test-subrepo-svn
Martin Geisler <mg@lazybytes.net>
parents:
11142
diff
changeset
|
37 Adding src/alpha |
d1ea16ca6520
tests: unify test-subrepo-svn
Martin Geisler <mg@lazybytes.net>
parents:
11142
diff
changeset
|
38 Transmitting file data .. |
d1ea16ca6520
tests: unify test-subrepo-svn
Martin Geisler <mg@lazybytes.net>
parents:
11142
diff
changeset
|
39 Committed revision 1. |
d1ea16ca6520
tests: unify test-subrepo-svn
Martin Geisler <mg@lazybytes.net>
parents:
11142
diff
changeset
|
40 $ svn up |
d1ea16ca6520
tests: unify test-subrepo-svn
Martin Geisler <mg@lazybytes.net>
parents:
11142
diff
changeset
|
41 At revision 1. |
d1ea16ca6520
tests: unify test-subrepo-svn
Martin Geisler <mg@lazybytes.net>
parents:
11142
diff
changeset
|
42 $ echo "externals -r1 $SVNREPO/externals" > extdef |
d1ea16ca6520
tests: unify test-subrepo-svn
Martin Geisler <mg@lazybytes.net>
parents:
11142
diff
changeset
|
43 $ svn propset -F extdef svn:externals src |
d1ea16ca6520
tests: unify test-subrepo-svn
Martin Geisler <mg@lazybytes.net>
parents:
11142
diff
changeset
|
44 property 'svn:externals' set on 'src' |
d1ea16ca6520
tests: unify test-subrepo-svn
Martin Geisler <mg@lazybytes.net>
parents:
11142
diff
changeset
|
45 $ svn ci -m 'Setting externals' |
d1ea16ca6520
tests: unify test-subrepo-svn
Martin Geisler <mg@lazybytes.net>
parents:
11142
diff
changeset
|
46 Sending src |
d1ea16ca6520
tests: unify test-subrepo-svn
Martin Geisler <mg@lazybytes.net>
parents:
11142
diff
changeset
|
47 |
d1ea16ca6520
tests: unify test-subrepo-svn
Martin Geisler <mg@lazybytes.net>
parents:
11142
diff
changeset
|
48 Committed revision 2. |
d1ea16ca6520
tests: unify test-subrepo-svn
Martin Geisler <mg@lazybytes.net>
parents:
11142
diff
changeset
|
49 $ cd .. |
10178 | 50 |
11916
d1ea16ca6520
tests: unify test-subrepo-svn
Martin Geisler <mg@lazybytes.net>
parents:
11142
diff
changeset
|
51 create hg repo |
d1ea16ca6520
tests: unify test-subrepo-svn
Martin Geisler <mg@lazybytes.net>
parents:
11142
diff
changeset
|
52 |
d1ea16ca6520
tests: unify test-subrepo-svn
Martin Geisler <mg@lazybytes.net>
parents:
11142
diff
changeset
|
53 $ mkdir sub |
d1ea16ca6520
tests: unify test-subrepo-svn
Martin Geisler <mg@lazybytes.net>
parents:
11142
diff
changeset
|
54 $ cd sub |
d1ea16ca6520
tests: unify test-subrepo-svn
Martin Geisler <mg@lazybytes.net>
parents:
11142
diff
changeset
|
55 $ hg init t |
d1ea16ca6520
tests: unify test-subrepo-svn
Martin Geisler <mg@lazybytes.net>
parents:
11142
diff
changeset
|
56 $ cd t |
d1ea16ca6520
tests: unify test-subrepo-svn
Martin Geisler <mg@lazybytes.net>
parents:
11142
diff
changeset
|
57 |
d1ea16ca6520
tests: unify test-subrepo-svn
Martin Geisler <mg@lazybytes.net>
parents:
11142
diff
changeset
|
58 first revision, no sub |
d1ea16ca6520
tests: unify test-subrepo-svn
Martin Geisler <mg@lazybytes.net>
parents:
11142
diff
changeset
|
59 |
d1ea16ca6520
tests: unify test-subrepo-svn
Martin Geisler <mg@lazybytes.net>
parents:
11142
diff
changeset
|
60 $ echo a > a |
d1ea16ca6520
tests: unify test-subrepo-svn
Martin Geisler <mg@lazybytes.net>
parents:
11142
diff
changeset
|
61 $ hg ci -Am0 |
d1ea16ca6520
tests: unify test-subrepo-svn
Martin Geisler <mg@lazybytes.net>
parents:
11142
diff
changeset
|
62 adding a |
d1ea16ca6520
tests: unify test-subrepo-svn
Martin Geisler <mg@lazybytes.net>
parents:
11142
diff
changeset
|
63 |
d1ea16ca6520
tests: unify test-subrepo-svn
Martin Geisler <mg@lazybytes.net>
parents:
11142
diff
changeset
|
64 add first svn sub with leading whitespaces |
10178 | 65 |
11916
d1ea16ca6520
tests: unify test-subrepo-svn
Martin Geisler <mg@lazybytes.net>
parents:
11142
diff
changeset
|
66 $ echo "s = [svn] $SVNREPO/src" >> .hgsub |
d1ea16ca6520
tests: unify test-subrepo-svn
Martin Geisler <mg@lazybytes.net>
parents:
11142
diff
changeset
|
67 $ svn co --quiet "$SVNREPO"/src s |
d1ea16ca6520
tests: unify test-subrepo-svn
Martin Geisler <mg@lazybytes.net>
parents:
11142
diff
changeset
|
68 $ hg add .hgsub |
d1ea16ca6520
tests: unify test-subrepo-svn
Martin Geisler <mg@lazybytes.net>
parents:
11142
diff
changeset
|
69 $ hg ci -m1 |
d1ea16ca6520
tests: unify test-subrepo-svn
Martin Geisler <mg@lazybytes.net>
parents:
11142
diff
changeset
|
70 committing subrepository s |
d1ea16ca6520
tests: unify test-subrepo-svn
Martin Geisler <mg@lazybytes.net>
parents:
11142
diff
changeset
|
71 |
12798
3d6ba8c2b1b8
subrepo: fix status check on SVN subrepos (issue2445)
Matt Mackall <mpm@selenic.com>
parents:
12668
diff
changeset
|
72 make sure we avoid empty commits (issue2445) |
3d6ba8c2b1b8
subrepo: fix status check on SVN subrepos (issue2445)
Matt Mackall <mpm@selenic.com>
parents:
12668
diff
changeset
|
73 |
3d6ba8c2b1b8
subrepo: fix status check on SVN subrepos (issue2445)
Matt Mackall <mpm@selenic.com>
parents:
12668
diff
changeset
|
74 $ hg sum |
3d6ba8c2b1b8
subrepo: fix status check on SVN subrepos (issue2445)
Matt Mackall <mpm@selenic.com>
parents:
12668
diff
changeset
|
75 parent: 1:* tip (glob) |
3d6ba8c2b1b8
subrepo: fix status check on SVN subrepos (issue2445)
Matt Mackall <mpm@selenic.com>
parents:
12668
diff
changeset
|
76 1 |
3d6ba8c2b1b8
subrepo: fix status check on SVN subrepos (issue2445)
Matt Mackall <mpm@selenic.com>
parents:
12668
diff
changeset
|
77 branch: default |
3d6ba8c2b1b8
subrepo: fix status check on SVN subrepos (issue2445)
Matt Mackall <mpm@selenic.com>
parents:
12668
diff
changeset
|
78 commit: (clean) |
3d6ba8c2b1b8
subrepo: fix status check on SVN subrepos (issue2445)
Matt Mackall <mpm@selenic.com>
parents:
12668
diff
changeset
|
79 update: (current) |
3d6ba8c2b1b8
subrepo: fix status check on SVN subrepos (issue2445)
Matt Mackall <mpm@selenic.com>
parents:
12668
diff
changeset
|
80 $ hg ci -moops |
3d6ba8c2b1b8
subrepo: fix status check on SVN subrepos (issue2445)
Matt Mackall <mpm@selenic.com>
parents:
12668
diff
changeset
|
81 nothing changed |
3d6ba8c2b1b8
subrepo: fix status check on SVN subrepos (issue2445)
Matt Mackall <mpm@selenic.com>
parents:
12668
diff
changeset
|
82 [1] |
3d6ba8c2b1b8
subrepo: fix status check on SVN subrepos (issue2445)
Matt Mackall <mpm@selenic.com>
parents:
12668
diff
changeset
|
83 |
11916
d1ea16ca6520
tests: unify test-subrepo-svn
Martin Geisler <mg@lazybytes.net>
parents:
11142
diff
changeset
|
84 debugsub |
d1ea16ca6520
tests: unify test-subrepo-svn
Martin Geisler <mg@lazybytes.net>
parents:
11142
diff
changeset
|
85 |
12366
c01dc9087d9a
tests: drop a bunch of sed calls from unified tests
Matt Mackall <mpm@selenic.com>
parents:
12365
diff
changeset
|
86 $ hg debugsub |
11916
d1ea16ca6520
tests: unify test-subrepo-svn
Martin Geisler <mg@lazybytes.net>
parents:
11142
diff
changeset
|
87 path s |
12668
89e35377dbe8
test-subrepo-svn.t: ignore that subversion %-encodes $TESTTMP
Mads Kiilerich <mads@kiilerich.com>
parents:
12640
diff
changeset
|
88 source file://*/svn-repo/src (glob) |
11916
d1ea16ca6520
tests: unify test-subrepo-svn
Martin Geisler <mg@lazybytes.net>
parents:
11142
diff
changeset
|
89 revision 2 |
d1ea16ca6520
tests: unify test-subrepo-svn
Martin Geisler <mg@lazybytes.net>
parents:
11142
diff
changeset
|
90 |
d1ea16ca6520
tests: unify test-subrepo-svn
Martin Geisler <mg@lazybytes.net>
parents:
11142
diff
changeset
|
91 change file in svn and hg, commit |
10178 | 92 |
11916
d1ea16ca6520
tests: unify test-subrepo-svn
Martin Geisler <mg@lazybytes.net>
parents:
11142
diff
changeset
|
93 $ echo a >> a |
d1ea16ca6520
tests: unify test-subrepo-svn
Martin Geisler <mg@lazybytes.net>
parents:
11142
diff
changeset
|
94 $ echo alpha >> s/alpha |
12798
3d6ba8c2b1b8
subrepo: fix status check on SVN subrepos (issue2445)
Matt Mackall <mpm@selenic.com>
parents:
12668
diff
changeset
|
95 $ hg sum |
3d6ba8c2b1b8
subrepo: fix status check on SVN subrepos (issue2445)
Matt Mackall <mpm@selenic.com>
parents:
12668
diff
changeset
|
96 parent: 1:* tip (glob) |
3d6ba8c2b1b8
subrepo: fix status check on SVN subrepos (issue2445)
Matt Mackall <mpm@selenic.com>
parents:
12668
diff
changeset
|
97 1 |
3d6ba8c2b1b8
subrepo: fix status check on SVN subrepos (issue2445)
Matt Mackall <mpm@selenic.com>
parents:
12668
diff
changeset
|
98 branch: default |
3d6ba8c2b1b8
subrepo: fix status check on SVN subrepos (issue2445)
Matt Mackall <mpm@selenic.com>
parents:
12668
diff
changeset
|
99 commit: 1 modified, 1 subrepos |
3d6ba8c2b1b8
subrepo: fix status check on SVN subrepos (issue2445)
Matt Mackall <mpm@selenic.com>
parents:
12668
diff
changeset
|
100 update: (current) |
12366
c01dc9087d9a
tests: drop a bunch of sed calls from unified tests
Matt Mackall <mpm@selenic.com>
parents:
12365
diff
changeset
|
101 $ hg commit -m 'Message!' |
11916
d1ea16ca6520
tests: unify test-subrepo-svn
Martin Geisler <mg@lazybytes.net>
parents:
11142
diff
changeset
|
102 committing subrepository s |
12377
a5b77eb0409b
tests: various fixes for new unified test pattern format
Matt Mackall <mpm@selenic.com>
parents:
12376
diff
changeset
|
103 Sending*s/alpha (glob) |
11916
d1ea16ca6520
tests: unify test-subrepo-svn
Martin Geisler <mg@lazybytes.net>
parents:
11142
diff
changeset
|
104 Transmitting file data . |
d1ea16ca6520
tests: unify test-subrepo-svn
Martin Geisler <mg@lazybytes.net>
parents:
11142
diff
changeset
|
105 Committed revision 3. |
d1ea16ca6520
tests: unify test-subrepo-svn
Martin Geisler <mg@lazybytes.net>
parents:
11142
diff
changeset
|
106 |
12640
6cc4b14fb76b
tests: remove redundant globs
Mads Kiilerich <mads@kiilerich.com>
parents:
12404
diff
changeset
|
107 Fetching external item into '$TESTTMP/sub/t/s/externals' |
11916
d1ea16ca6520
tests: unify test-subrepo-svn
Martin Geisler <mg@lazybytes.net>
parents:
11142
diff
changeset
|
108 External at revision 1. |
d1ea16ca6520
tests: unify test-subrepo-svn
Martin Geisler <mg@lazybytes.net>
parents:
11142
diff
changeset
|
109 |
d1ea16ca6520
tests: unify test-subrepo-svn
Martin Geisler <mg@lazybytes.net>
parents:
11142
diff
changeset
|
110 At revision 3. |
12366
c01dc9087d9a
tests: drop a bunch of sed calls from unified tests
Matt Mackall <mpm@selenic.com>
parents:
12365
diff
changeset
|
111 $ hg debugsub |
11916
d1ea16ca6520
tests: unify test-subrepo-svn
Martin Geisler <mg@lazybytes.net>
parents:
11142
diff
changeset
|
112 path s |
12668
89e35377dbe8
test-subrepo-svn.t: ignore that subversion %-encodes $TESTTMP
Mads Kiilerich <mads@kiilerich.com>
parents:
12640
diff
changeset
|
113 source file://*/svn-repo/src (glob) |
11916
d1ea16ca6520
tests: unify test-subrepo-svn
Martin Geisler <mg@lazybytes.net>
parents:
11142
diff
changeset
|
114 revision 3 |
d1ea16ca6520
tests: unify test-subrepo-svn
Martin Geisler <mg@lazybytes.net>
parents:
11142
diff
changeset
|
115 |
d1ea16ca6520
tests: unify test-subrepo-svn
Martin Geisler <mg@lazybytes.net>
parents:
11142
diff
changeset
|
116 $ echo a > s/a |
d1ea16ca6520
tests: unify test-subrepo-svn
Martin Geisler <mg@lazybytes.net>
parents:
11142
diff
changeset
|
117 |
d1ea16ca6520
tests: unify test-subrepo-svn
Martin Geisler <mg@lazybytes.net>
parents:
11142
diff
changeset
|
118 should be empty despite change to s/a |
d1ea16ca6520
tests: unify test-subrepo-svn
Martin Geisler <mg@lazybytes.net>
parents:
11142
diff
changeset
|
119 |
d1ea16ca6520
tests: unify test-subrepo-svn
Martin Geisler <mg@lazybytes.net>
parents:
11142
diff
changeset
|
120 $ hg st |
d1ea16ca6520
tests: unify test-subrepo-svn
Martin Geisler <mg@lazybytes.net>
parents:
11142
diff
changeset
|
121 |
d1ea16ca6520
tests: unify test-subrepo-svn
Martin Geisler <mg@lazybytes.net>
parents:
11142
diff
changeset
|
122 add a commit from svn |
10178 | 123 |
11916
d1ea16ca6520
tests: unify test-subrepo-svn
Martin Geisler <mg@lazybytes.net>
parents:
11142
diff
changeset
|
124 $ cd "$WCROOT"/src |
d1ea16ca6520
tests: unify test-subrepo-svn
Martin Geisler <mg@lazybytes.net>
parents:
11142
diff
changeset
|
125 $ svn up |
d1ea16ca6520
tests: unify test-subrepo-svn
Martin Geisler <mg@lazybytes.net>
parents:
11142
diff
changeset
|
126 U alpha |
d1ea16ca6520
tests: unify test-subrepo-svn
Martin Geisler <mg@lazybytes.net>
parents:
11142
diff
changeset
|
127 |
d1ea16ca6520
tests: unify test-subrepo-svn
Martin Geisler <mg@lazybytes.net>
parents:
11142
diff
changeset
|
128 Fetching external item into 'externals' |
d1ea16ca6520
tests: unify test-subrepo-svn
Martin Geisler <mg@lazybytes.net>
parents:
11142
diff
changeset
|
129 A externals/other |
d1ea16ca6520
tests: unify test-subrepo-svn
Martin Geisler <mg@lazybytes.net>
parents:
11142
diff
changeset
|
130 Updated external to revision 1. |
d1ea16ca6520
tests: unify test-subrepo-svn
Martin Geisler <mg@lazybytes.net>
parents:
11142
diff
changeset
|
131 |
d1ea16ca6520
tests: unify test-subrepo-svn
Martin Geisler <mg@lazybytes.net>
parents:
11142
diff
changeset
|
132 Updated to revision 3. |
d1ea16ca6520
tests: unify test-subrepo-svn
Martin Geisler <mg@lazybytes.net>
parents:
11142
diff
changeset
|
133 $ echo xyz >> alpha |
d1ea16ca6520
tests: unify test-subrepo-svn
Martin Geisler <mg@lazybytes.net>
parents:
11142
diff
changeset
|
134 $ svn propset svn:mime-type 'text/xml' alpha |
d1ea16ca6520
tests: unify test-subrepo-svn
Martin Geisler <mg@lazybytes.net>
parents:
11142
diff
changeset
|
135 property 'svn:mime-type' set on 'alpha' |
d1ea16ca6520
tests: unify test-subrepo-svn
Martin Geisler <mg@lazybytes.net>
parents:
11142
diff
changeset
|
136 $ svn ci -m 'amend a from svn' |
d1ea16ca6520
tests: unify test-subrepo-svn
Martin Geisler <mg@lazybytes.net>
parents:
11142
diff
changeset
|
137 Sending src/alpha |
d1ea16ca6520
tests: unify test-subrepo-svn
Martin Geisler <mg@lazybytes.net>
parents:
11142
diff
changeset
|
138 Transmitting file data . |
d1ea16ca6520
tests: unify test-subrepo-svn
Martin Geisler <mg@lazybytes.net>
parents:
11142
diff
changeset
|
139 Committed revision 4. |
d1ea16ca6520
tests: unify test-subrepo-svn
Martin Geisler <mg@lazybytes.net>
parents:
11142
diff
changeset
|
140 $ cd ../../sub/t |
10178 | 141 |
11916
d1ea16ca6520
tests: unify test-subrepo-svn
Martin Geisler <mg@lazybytes.net>
parents:
11142
diff
changeset
|
142 this commit from hg will fail |
10178 | 143 |
11916
d1ea16ca6520
tests: unify test-subrepo-svn
Martin Geisler <mg@lazybytes.net>
parents:
11142
diff
changeset
|
144 $ echo zzz >> s/alpha |
12366
c01dc9087d9a
tests: drop a bunch of sed calls from unified tests
Matt Mackall <mpm@selenic.com>
parents:
12365
diff
changeset
|
145 $ hg ci -m 'amend alpha from hg' |
11916
d1ea16ca6520
tests: unify test-subrepo-svn
Martin Geisler <mg@lazybytes.net>
parents:
11142
diff
changeset
|
146 committing subrepository s |
d1ea16ca6520
tests: unify test-subrepo-svn
Martin Geisler <mg@lazybytes.net>
parents:
11142
diff
changeset
|
147 abort: svn: Commit failed (details follow): |
12377
a5b77eb0409b
tests: various fixes for new unified test pattern format
Matt Mackall <mpm@selenic.com>
parents:
12376
diff
changeset
|
148 svn: (Out of date)?.*/src/alpha.*(is out of date)? (re) |
12366
c01dc9087d9a
tests: drop a bunch of sed calls from unified tests
Matt Mackall <mpm@selenic.com>
parents:
12365
diff
changeset
|
149 [255] |
11916
d1ea16ca6520
tests: unify test-subrepo-svn
Martin Geisler <mg@lazybytes.net>
parents:
11142
diff
changeset
|
150 $ svn revert -q s/alpha |
10273
e898bc7810ad
subrepo: handle svn externals and meta changes (issue1982)
Patrick Mezard <pmezard@gmail.com>
parents:
10267
diff
changeset
|
151 |
11916
d1ea16ca6520
tests: unify test-subrepo-svn
Martin Geisler <mg@lazybytes.net>
parents:
11142
diff
changeset
|
152 this commit fails because of meta changes |
d1ea16ca6520
tests: unify test-subrepo-svn
Martin Geisler <mg@lazybytes.net>
parents:
11142
diff
changeset
|
153 |
d1ea16ca6520
tests: unify test-subrepo-svn
Martin Geisler <mg@lazybytes.net>
parents:
11142
diff
changeset
|
154 $ svn propset svn:mime-type 'text/html' s/alpha |
d1ea16ca6520
tests: unify test-subrepo-svn
Martin Geisler <mg@lazybytes.net>
parents:
11142
diff
changeset
|
155 property 'svn:mime-type' set on 's/alpha' |
12366
c01dc9087d9a
tests: drop a bunch of sed calls from unified tests
Matt Mackall <mpm@selenic.com>
parents:
12365
diff
changeset
|
156 $ hg ci -m 'amend alpha from hg' |
11916
d1ea16ca6520
tests: unify test-subrepo-svn
Martin Geisler <mg@lazybytes.net>
parents:
11142
diff
changeset
|
157 committing subrepository s |
d1ea16ca6520
tests: unify test-subrepo-svn
Martin Geisler <mg@lazybytes.net>
parents:
11142
diff
changeset
|
158 abort: svn: Commit failed (details follow): |
12377
a5b77eb0409b
tests: various fixes for new unified test pattern format
Matt Mackall <mpm@selenic.com>
parents:
12376
diff
changeset
|
159 svn: (Out of date)?.*/src/alpha.*(is out of date)? (re) |
12366
c01dc9087d9a
tests: drop a bunch of sed calls from unified tests
Matt Mackall <mpm@selenic.com>
parents:
12365
diff
changeset
|
160 [255] |
11916
d1ea16ca6520
tests: unify test-subrepo-svn
Martin Geisler <mg@lazybytes.net>
parents:
11142
diff
changeset
|
161 $ svn revert -q s/alpha |
d1ea16ca6520
tests: unify test-subrepo-svn
Martin Geisler <mg@lazybytes.net>
parents:
11142
diff
changeset
|
162 |
d1ea16ca6520
tests: unify test-subrepo-svn
Martin Geisler <mg@lazybytes.net>
parents:
11142
diff
changeset
|
163 this commit fails because of externals changes |
10273
e898bc7810ad
subrepo: handle svn externals and meta changes (issue1982)
Patrick Mezard <pmezard@gmail.com>
parents:
10267
diff
changeset
|
164 |
11916
d1ea16ca6520
tests: unify test-subrepo-svn
Martin Geisler <mg@lazybytes.net>
parents:
11142
diff
changeset
|
165 $ echo zzz > s/externals/other |
d1ea16ca6520
tests: unify test-subrepo-svn
Martin Geisler <mg@lazybytes.net>
parents:
11142
diff
changeset
|
166 $ hg ci -m 'amend externals from hg' |
d1ea16ca6520
tests: unify test-subrepo-svn
Martin Geisler <mg@lazybytes.net>
parents:
11142
diff
changeset
|
167 committing subrepository s |
d1ea16ca6520
tests: unify test-subrepo-svn
Martin Geisler <mg@lazybytes.net>
parents:
11142
diff
changeset
|
168 abort: cannot commit svn externals |
12316
4134686b83e1
tests: add exit codes to unified tests
Matt Mackall <mpm@selenic.com>
parents:
12209
diff
changeset
|
169 [255] |
12209
affec9fb56ef
subrepos: handle diff nodeids in subrepos, not before
Patrick Mezard <pmezard@gmail.com>
parents:
11916
diff
changeset
|
170 $ hg diff --subrepos -r 1:2 | grep -v diff |
affec9fb56ef
subrepos: handle diff nodeids in subrepos, not before
Patrick Mezard <pmezard@gmail.com>
parents:
11916
diff
changeset
|
171 --- a/.hgsubstate Thu Jan 01 00:00:00 1970 +0000 |
affec9fb56ef
subrepos: handle diff nodeids in subrepos, not before
Patrick Mezard <pmezard@gmail.com>
parents:
11916
diff
changeset
|
172 +++ b/.hgsubstate Thu Jan 01 00:00:00 1970 +0000 |
affec9fb56ef
subrepos: handle diff nodeids in subrepos, not before
Patrick Mezard <pmezard@gmail.com>
parents:
11916
diff
changeset
|
173 @@ -1,1 +1,1 @@ |
affec9fb56ef
subrepos: handle diff nodeids in subrepos, not before
Patrick Mezard <pmezard@gmail.com>
parents:
11916
diff
changeset
|
174 -2 s |
affec9fb56ef
subrepos: handle diff nodeids in subrepos, not before
Patrick Mezard <pmezard@gmail.com>
parents:
11916
diff
changeset
|
175 +3 s |
affec9fb56ef
subrepos: handle diff nodeids in subrepos, not before
Patrick Mezard <pmezard@gmail.com>
parents:
11916
diff
changeset
|
176 --- a/a Thu Jan 01 00:00:00 1970 +0000 |
affec9fb56ef
subrepos: handle diff nodeids in subrepos, not before
Patrick Mezard <pmezard@gmail.com>
parents:
11916
diff
changeset
|
177 +++ b/a Thu Jan 01 00:00:00 1970 +0000 |
affec9fb56ef
subrepos: handle diff nodeids in subrepos, not before
Patrick Mezard <pmezard@gmail.com>
parents:
11916
diff
changeset
|
178 @@ -1,1 +1,2 @@ |
affec9fb56ef
subrepos: handle diff nodeids in subrepos, not before
Patrick Mezard <pmezard@gmail.com>
parents:
11916
diff
changeset
|
179 a |
affec9fb56ef
subrepos: handle diff nodeids in subrepos, not before
Patrick Mezard <pmezard@gmail.com>
parents:
11916
diff
changeset
|
180 +a |
11916
d1ea16ca6520
tests: unify test-subrepo-svn
Martin Geisler <mg@lazybytes.net>
parents:
11142
diff
changeset
|
181 $ svn revert -q s/externals/other |
10273
e898bc7810ad
subrepo: handle svn externals and meta changes (issue1982)
Patrick Mezard <pmezard@gmail.com>
parents:
10267
diff
changeset
|
182 |
11916
d1ea16ca6520
tests: unify test-subrepo-svn
Martin Geisler <mg@lazybytes.net>
parents:
11142
diff
changeset
|
183 this commit fails because of externals meta changes |
d1ea16ca6520
tests: unify test-subrepo-svn
Martin Geisler <mg@lazybytes.net>
parents:
11142
diff
changeset
|
184 |
d1ea16ca6520
tests: unify test-subrepo-svn
Martin Geisler <mg@lazybytes.net>
parents:
11142
diff
changeset
|
185 $ svn propset svn:mime-type 'text/html' s/externals/other |
d1ea16ca6520
tests: unify test-subrepo-svn
Martin Geisler <mg@lazybytes.net>
parents:
11142
diff
changeset
|
186 property 'svn:mime-type' set on 's/externals/other' |
d1ea16ca6520
tests: unify test-subrepo-svn
Martin Geisler <mg@lazybytes.net>
parents:
11142
diff
changeset
|
187 $ hg ci -m 'amend externals from hg' |
d1ea16ca6520
tests: unify test-subrepo-svn
Martin Geisler <mg@lazybytes.net>
parents:
11142
diff
changeset
|
188 committing subrepository s |
d1ea16ca6520
tests: unify test-subrepo-svn
Martin Geisler <mg@lazybytes.net>
parents:
11142
diff
changeset
|
189 abort: cannot commit svn externals |
12316
4134686b83e1
tests: add exit codes to unified tests
Matt Mackall <mpm@selenic.com>
parents:
12209
diff
changeset
|
190 [255] |
11916
d1ea16ca6520
tests: unify test-subrepo-svn
Martin Geisler <mg@lazybytes.net>
parents:
11142
diff
changeset
|
191 $ svn revert -q s/externals/other |
10273
e898bc7810ad
subrepo: handle svn externals and meta changes (issue1982)
Patrick Mezard <pmezard@gmail.com>
parents:
10267
diff
changeset
|
192 |
11916
d1ea16ca6520
tests: unify test-subrepo-svn
Martin Geisler <mg@lazybytes.net>
parents:
11142
diff
changeset
|
193 clone |
10178 | 194 |
11916
d1ea16ca6520
tests: unify test-subrepo-svn
Martin Geisler <mg@lazybytes.net>
parents:
11142
diff
changeset
|
195 $ cd .. |
d1ea16ca6520
tests: unify test-subrepo-svn
Martin Geisler <mg@lazybytes.net>
parents:
11142
diff
changeset
|
196 $ hg clone t tc | fix_path |
d1ea16ca6520
tests: unify test-subrepo-svn
Martin Geisler <mg@lazybytes.net>
parents:
11142
diff
changeset
|
197 updating to branch default |
d1ea16ca6520
tests: unify test-subrepo-svn
Martin Geisler <mg@lazybytes.net>
parents:
11142
diff
changeset
|
198 A tc/s/alpha |
d1ea16ca6520
tests: unify test-subrepo-svn
Martin Geisler <mg@lazybytes.net>
parents:
11142
diff
changeset
|
199 U tc/s |
d1ea16ca6520
tests: unify test-subrepo-svn
Martin Geisler <mg@lazybytes.net>
parents:
11142
diff
changeset
|
200 |
d1ea16ca6520
tests: unify test-subrepo-svn
Martin Geisler <mg@lazybytes.net>
parents:
11142
diff
changeset
|
201 Fetching external item into 'tc/s/externals' |
d1ea16ca6520
tests: unify test-subrepo-svn
Martin Geisler <mg@lazybytes.net>
parents:
11142
diff
changeset
|
202 A tc/s/externals/other |
d1ea16ca6520
tests: unify test-subrepo-svn
Martin Geisler <mg@lazybytes.net>
parents:
11142
diff
changeset
|
203 Checked out external at revision 1. |
d1ea16ca6520
tests: unify test-subrepo-svn
Martin Geisler <mg@lazybytes.net>
parents:
11142
diff
changeset
|
204 |
d1ea16ca6520
tests: unify test-subrepo-svn
Martin Geisler <mg@lazybytes.net>
parents:
11142
diff
changeset
|
205 Checked out revision 3. |
d1ea16ca6520
tests: unify test-subrepo-svn
Martin Geisler <mg@lazybytes.net>
parents:
11142
diff
changeset
|
206 3 files updated, 0 files merged, 0 files removed, 0 files unresolved |
d1ea16ca6520
tests: unify test-subrepo-svn
Martin Geisler <mg@lazybytes.net>
parents:
11142
diff
changeset
|
207 $ cd tc |
10954
33119d0252c1
subrepo: fix repo root path handling in svn subrepo
Brett Cannon <brett@python.org>
parents:
10791
diff
changeset
|
208 |
11916
d1ea16ca6520
tests: unify test-subrepo-svn
Martin Geisler <mg@lazybytes.net>
parents:
11142
diff
changeset
|
209 debugsub in clone |
d1ea16ca6520
tests: unify test-subrepo-svn
Martin Geisler <mg@lazybytes.net>
parents:
11142
diff
changeset
|
210 |
12366
c01dc9087d9a
tests: drop a bunch of sed calls from unified tests
Matt Mackall <mpm@selenic.com>
parents:
12365
diff
changeset
|
211 $ hg debugsub |
11916
d1ea16ca6520
tests: unify test-subrepo-svn
Martin Geisler <mg@lazybytes.net>
parents:
11142
diff
changeset
|
212 path s |
12668
89e35377dbe8
test-subrepo-svn.t: ignore that subversion %-encodes $TESTTMP
Mads Kiilerich <mads@kiilerich.com>
parents:
12640
diff
changeset
|
213 source file://*/svn-repo/src (glob) |
11916
d1ea16ca6520
tests: unify test-subrepo-svn
Martin Geisler <mg@lazybytes.net>
parents:
11142
diff
changeset
|
214 revision 3 |
d1ea16ca6520
tests: unify test-subrepo-svn
Martin Geisler <mg@lazybytes.net>
parents:
11142
diff
changeset
|
215 |
d1ea16ca6520
tests: unify test-subrepo-svn
Martin Geisler <mg@lazybytes.net>
parents:
11142
diff
changeset
|
216 verify subrepo is contained within the repo directory |
d1ea16ca6520
tests: unify test-subrepo-svn
Martin Geisler <mg@lazybytes.net>
parents:
11142
diff
changeset
|
217 |
d1ea16ca6520
tests: unify test-subrepo-svn
Martin Geisler <mg@lazybytes.net>
parents:
11142
diff
changeset
|
218 $ python -c "import os.path; print os.path.exists('s')" |
d1ea16ca6520
tests: unify test-subrepo-svn
Martin Geisler <mg@lazybytes.net>
parents:
11142
diff
changeset
|
219 True |
12930
9bb180abc4d0
subrepo: test & fix svn subrepo removal
Ronny Pfannschmidt <Ronny.Pfannschmidt@gmx.de>
parents:
12798
diff
changeset
|
220 |
9bb180abc4d0
subrepo: test & fix svn subrepo removal
Ronny Pfannschmidt <Ronny.Pfannschmidt@gmx.de>
parents:
12798
diff
changeset
|
221 update to nullrev (must delete the subrepo) |
9bb180abc4d0
subrepo: test & fix svn subrepo removal
Ronny Pfannschmidt <Ronny.Pfannschmidt@gmx.de>
parents:
12798
diff
changeset
|
222 |
9bb180abc4d0
subrepo: test & fix svn subrepo removal
Ronny Pfannschmidt <Ronny.Pfannschmidt@gmx.de>
parents:
12798
diff
changeset
|
223 $ hg up null |
9bb180abc4d0
subrepo: test & fix svn subrepo removal
Ronny Pfannschmidt <Ronny.Pfannschmidt@gmx.de>
parents:
12798
diff
changeset
|
224 0 files updated, 0 files merged, 3 files removed, 0 files unresolved |