annotate tests/test-ssh-clone-r.t @ 23702:c48924787eaa

filectx.parents: enforce changeid of parent to be in own changectx ancestors Because of the way filenodes are computed, you can have multiple changesets "introducing" the same file revision. For example, in the changeset graph below, changeset 2 and 3 both change a file -to- and -from- the same content. o 3: content = new | | o 2: content = new |/ o 1: content = old In such cases, the file revision is create once, when 2 is added, and just reused for 3. So the file change in '3' (from "old" to "new)" has no linkrev pointing to it). We'll call this situation "linkrev-shadowing". As the linkrev is used for optimization purposes when walking a file history, the linkrev-shadowing results in an unexpected jump to another branch during such a walk.. This leads to multiple bugs with log, annotate and rename detection. One element to fix such bugs is to ensure that walking the file history sticks on the same topology as the changeset's history. For this purpose, we extend the logic in 'basefilectx.parents' so that it always defines the proper changeset to associate the parent file revision with. This "proper" changeset has to be an ancestor of the changeset associated with the child file revision. This logic is performed in the '_adjustlinkrev' function. This function is given the starting changeset and all the information regarding the parent file revision. If the linkrev for the file revision is an ancestor of the starting changeset, the linkrev is valid and will be used. If it is not, we detected a topological jump caused by linkrev shadowing, we are going to walk the ancestors of the starting changeset until we find one setting the file to the revision we are trying to create. The performance impact appears acceptable: - We are walking the changelog once for each filelog traversal (as there should be no overlap between searches), - changelog traversal itself is fairly cheap, compared to what is likely going to be perform on the result on the filelog traversal, - We only touch the manifest for ancestors touching the file, And such changesets are likely to be the one introducing the file. (except in pathological cases involving merge), - We use manifest diff instead of full manifest unpacking to check manifest content, so it does not involve applying multiple diffs in most case. - linkrev shadowing is not the common case. Tests for fixed issues in log, annotate and rename detection have been added. But this changeset does not solve all problems. It fixes -ancestry- computation, but if the linkrev-shadowed changesets is the starting one, we'll still get things wrong. We'll have to fix the bootstrapping of such operations in a later changeset. Also, the usage of `hg log FILE` without --follow still has issues with linkrev pointing to hidden changesets, because it relies on the `filelog` revset which implement its own traversal logic that is still to be fixed. Thanks goes to: - Matt Mackall: for nudging me in the right direction - Julien Cristau and RĂ©mi Cardona: for keep telling me linkrev bug were an evolution show stopper for 3 years. - Durham Goode: for finding a new linkrev issue every few weeks - Mads Kiilerich: for that last rename bug who raise this topic over my anoyance limit.
author Pierre-Yves David <pierre-yves.david@fb.com>
date Tue, 23 Dec 2014 15:30:38 -0800
parents f2719b387380
children 46727fea7a00
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
12490
8ae02203065e tests: unify test-ssh-clone-r
Matt Mackall <mpm@selenic.com>
parents: 4299
diff changeset
1 This test tries to exercise the ssh functionality with a dummy script
3449
c8686e3f0291 Testing the new changegroupsubset remote function in the ssh
Eric Hopper <hopper@omnifarious.org>
parents:
diff changeset
2
14186
8513bd2e7259 tests: share dummyssh
Mads Kiilerich <mads@kiilerich.com>
parents: 14117
diff changeset
3 creating 'remote' repo
4299
6b1e1b9da853 test-ssh-clone-r: avoid a shell script
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents: 3853
diff changeset
4
14117
07708f4171f1 tests: create a bundle to bootstrap tests using a remote repository
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 13742
diff changeset
5 $ hg init remote
07708f4171f1 tests: create a bundle to bootstrap tests using a remote repository
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 13742
diff changeset
6 $ cd remote
16350
4f795f5fbb0b tests: make tests work if directory contains special characters
Thomas Arendsen Hein <thomas@intevation.de>
parents: 14186
diff changeset
7 $ hg unbundle "$TESTDIR/bundles/remote.hg"
14117
07708f4171f1 tests: create a bundle to bootstrap tests using a remote repository
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 13742
diff changeset
8 adding changesets
07708f4171f1 tests: create a bundle to bootstrap tests using a remote repository
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 13742
diff changeset
9 adding manifests
07708f4171f1 tests: create a bundle to bootstrap tests using a remote repository
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 13742
diff changeset
10 adding file changes
07708f4171f1 tests: create a bundle to bootstrap tests using a remote repository
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 13742
diff changeset
11 added 9 changesets with 7 changes to 4 files (+1 heads)
07708f4171f1 tests: create a bundle to bootstrap tests using a remote repository
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 13742
diff changeset
12 (run 'hg heads' to see heads, 'hg merge' to merge)
07708f4171f1 tests: create a bundle to bootstrap tests using a remote repository
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 13742
diff changeset
13 $ hg up tip
12490
8ae02203065e tests: unify test-ssh-clone-r
Matt Mackall <mpm@selenic.com>
parents: 4299
diff changeset
14 1 files updated, 0 files merged, 0 files removed, 0 files unresolved
8ae02203065e tests: unify test-ssh-clone-r
Matt Mackall <mpm@selenic.com>
parents: 4299
diff changeset
15 $ cd ..
3449
c8686e3f0291 Testing the new changegroupsubset remote function in the ssh
Eric Hopper <hopper@omnifarious.org>
parents:
diff changeset
16
12490
8ae02203065e tests: unify test-ssh-clone-r
Matt Mackall <mpm@selenic.com>
parents: 4299
diff changeset
17 clone remote via stream
3449
c8686e3f0291 Testing the new changegroupsubset remote function in the ssh
Eric Hopper <hopper@omnifarious.org>
parents:
diff changeset
18
12490
8ae02203065e tests: unify test-ssh-clone-r
Matt Mackall <mpm@selenic.com>
parents: 4299
diff changeset
19 $ for i in 0 1 2 3 4 5 6 7 8; do
16541
bb3334806ace tests: quote dummyssh in a way that works on windows too
Mads Kiilerich <mads@kiilerich.com>
parents: 16350
diff changeset
20 > hg clone -e "python \"$TESTDIR/dummyssh\"" --uncompressed -r "$i" ssh://user@dummy/remote test-"$i"
12490
8ae02203065e tests: unify test-ssh-clone-r
Matt Mackall <mpm@selenic.com>
parents: 4299
diff changeset
21 > if cd test-"$i"; then
8ae02203065e tests: unify test-ssh-clone-r
Matt Mackall <mpm@selenic.com>
parents: 4299
diff changeset
22 > hg verify
8ae02203065e tests: unify test-ssh-clone-r
Matt Mackall <mpm@selenic.com>
parents: 4299
diff changeset
23 > cd ..
8ae02203065e tests: unify test-ssh-clone-r
Matt Mackall <mpm@selenic.com>
parents: 4299
diff changeset
24 > fi
8ae02203065e tests: unify test-ssh-clone-r
Matt Mackall <mpm@selenic.com>
parents: 4299
diff changeset
25 > done
8ae02203065e tests: unify test-ssh-clone-r
Matt Mackall <mpm@selenic.com>
parents: 4299
diff changeset
26 adding changesets
8ae02203065e tests: unify test-ssh-clone-r
Matt Mackall <mpm@selenic.com>
parents: 4299
diff changeset
27 adding manifests
8ae02203065e tests: unify test-ssh-clone-r
Matt Mackall <mpm@selenic.com>
parents: 4299
diff changeset
28 adding file changes
8ae02203065e tests: unify test-ssh-clone-r
Matt Mackall <mpm@selenic.com>
parents: 4299
diff changeset
29 added 1 changesets with 1 changes to 1 files
8ae02203065e tests: unify test-ssh-clone-r
Matt Mackall <mpm@selenic.com>
parents: 4299
diff changeset
30 updating to branch default
8ae02203065e tests: unify test-ssh-clone-r
Matt Mackall <mpm@selenic.com>
parents: 4299
diff changeset
31 1 files updated, 0 files merged, 0 files removed, 0 files unresolved
8ae02203065e tests: unify test-ssh-clone-r
Matt Mackall <mpm@selenic.com>
parents: 4299
diff changeset
32 checking changesets
8ae02203065e tests: unify test-ssh-clone-r
Matt Mackall <mpm@selenic.com>
parents: 4299
diff changeset
33 checking manifests
8ae02203065e tests: unify test-ssh-clone-r
Matt Mackall <mpm@selenic.com>
parents: 4299
diff changeset
34 crosschecking files in changesets and manifests
8ae02203065e tests: unify test-ssh-clone-r
Matt Mackall <mpm@selenic.com>
parents: 4299
diff changeset
35 checking files
8ae02203065e tests: unify test-ssh-clone-r
Matt Mackall <mpm@selenic.com>
parents: 4299
diff changeset
36 1 files, 1 changesets, 1 total revisions
8ae02203065e tests: unify test-ssh-clone-r
Matt Mackall <mpm@selenic.com>
parents: 4299
diff changeset
37 adding changesets
8ae02203065e tests: unify test-ssh-clone-r
Matt Mackall <mpm@selenic.com>
parents: 4299
diff changeset
38 adding manifests
8ae02203065e tests: unify test-ssh-clone-r
Matt Mackall <mpm@selenic.com>
parents: 4299
diff changeset
39 adding file changes
8ae02203065e tests: unify test-ssh-clone-r
Matt Mackall <mpm@selenic.com>
parents: 4299
diff changeset
40 added 2 changesets with 2 changes to 1 files
8ae02203065e tests: unify test-ssh-clone-r
Matt Mackall <mpm@selenic.com>
parents: 4299
diff changeset
41 updating to branch default
8ae02203065e tests: unify test-ssh-clone-r
Matt Mackall <mpm@selenic.com>
parents: 4299
diff changeset
42 1 files updated, 0 files merged, 0 files removed, 0 files unresolved
8ae02203065e tests: unify test-ssh-clone-r
Matt Mackall <mpm@selenic.com>
parents: 4299
diff changeset
43 checking changesets
8ae02203065e tests: unify test-ssh-clone-r
Matt Mackall <mpm@selenic.com>
parents: 4299
diff changeset
44 checking manifests
8ae02203065e tests: unify test-ssh-clone-r
Matt Mackall <mpm@selenic.com>
parents: 4299
diff changeset
45 crosschecking files in changesets and manifests
8ae02203065e tests: unify test-ssh-clone-r
Matt Mackall <mpm@selenic.com>
parents: 4299
diff changeset
46 checking files
8ae02203065e tests: unify test-ssh-clone-r
Matt Mackall <mpm@selenic.com>
parents: 4299
diff changeset
47 1 files, 2 changesets, 2 total revisions
8ae02203065e tests: unify test-ssh-clone-r
Matt Mackall <mpm@selenic.com>
parents: 4299
diff changeset
48 adding changesets
8ae02203065e tests: unify test-ssh-clone-r
Matt Mackall <mpm@selenic.com>
parents: 4299
diff changeset
49 adding manifests
8ae02203065e tests: unify test-ssh-clone-r
Matt Mackall <mpm@selenic.com>
parents: 4299
diff changeset
50 adding file changes
8ae02203065e tests: unify test-ssh-clone-r
Matt Mackall <mpm@selenic.com>
parents: 4299
diff changeset
51 added 3 changesets with 3 changes to 1 files
8ae02203065e tests: unify test-ssh-clone-r
Matt Mackall <mpm@selenic.com>
parents: 4299
diff changeset
52 updating to branch default
8ae02203065e tests: unify test-ssh-clone-r
Matt Mackall <mpm@selenic.com>
parents: 4299
diff changeset
53 1 files updated, 0 files merged, 0 files removed, 0 files unresolved
8ae02203065e tests: unify test-ssh-clone-r
Matt Mackall <mpm@selenic.com>
parents: 4299
diff changeset
54 checking changesets
8ae02203065e tests: unify test-ssh-clone-r
Matt Mackall <mpm@selenic.com>
parents: 4299
diff changeset
55 checking manifests
8ae02203065e tests: unify test-ssh-clone-r
Matt Mackall <mpm@selenic.com>
parents: 4299
diff changeset
56 crosschecking files in changesets and manifests
8ae02203065e tests: unify test-ssh-clone-r
Matt Mackall <mpm@selenic.com>
parents: 4299
diff changeset
57 checking files
8ae02203065e tests: unify test-ssh-clone-r
Matt Mackall <mpm@selenic.com>
parents: 4299
diff changeset
58 1 files, 3 changesets, 3 total revisions
8ae02203065e tests: unify test-ssh-clone-r
Matt Mackall <mpm@selenic.com>
parents: 4299
diff changeset
59 adding changesets
8ae02203065e tests: unify test-ssh-clone-r
Matt Mackall <mpm@selenic.com>
parents: 4299
diff changeset
60 adding manifests
8ae02203065e tests: unify test-ssh-clone-r
Matt Mackall <mpm@selenic.com>
parents: 4299
diff changeset
61 adding file changes
8ae02203065e tests: unify test-ssh-clone-r
Matt Mackall <mpm@selenic.com>
parents: 4299
diff changeset
62 added 4 changesets with 4 changes to 1 files
8ae02203065e tests: unify test-ssh-clone-r
Matt Mackall <mpm@selenic.com>
parents: 4299
diff changeset
63 updating to branch default
8ae02203065e tests: unify test-ssh-clone-r
Matt Mackall <mpm@selenic.com>
parents: 4299
diff changeset
64 1 files updated, 0 files merged, 0 files removed, 0 files unresolved
8ae02203065e tests: unify test-ssh-clone-r
Matt Mackall <mpm@selenic.com>
parents: 4299
diff changeset
65 checking changesets
8ae02203065e tests: unify test-ssh-clone-r
Matt Mackall <mpm@selenic.com>
parents: 4299
diff changeset
66 checking manifests
8ae02203065e tests: unify test-ssh-clone-r
Matt Mackall <mpm@selenic.com>
parents: 4299
diff changeset
67 crosschecking files in changesets and manifests
8ae02203065e tests: unify test-ssh-clone-r
Matt Mackall <mpm@selenic.com>
parents: 4299
diff changeset
68 checking files
8ae02203065e tests: unify test-ssh-clone-r
Matt Mackall <mpm@selenic.com>
parents: 4299
diff changeset
69 1 files, 4 changesets, 4 total revisions
8ae02203065e tests: unify test-ssh-clone-r
Matt Mackall <mpm@selenic.com>
parents: 4299
diff changeset
70 adding changesets
8ae02203065e tests: unify test-ssh-clone-r
Matt Mackall <mpm@selenic.com>
parents: 4299
diff changeset
71 adding manifests
8ae02203065e tests: unify test-ssh-clone-r
Matt Mackall <mpm@selenic.com>
parents: 4299
diff changeset
72 adding file changes
8ae02203065e tests: unify test-ssh-clone-r
Matt Mackall <mpm@selenic.com>
parents: 4299
diff changeset
73 added 2 changesets with 2 changes to 1 files
8ae02203065e tests: unify test-ssh-clone-r
Matt Mackall <mpm@selenic.com>
parents: 4299
diff changeset
74 updating to branch default
8ae02203065e tests: unify test-ssh-clone-r
Matt Mackall <mpm@selenic.com>
parents: 4299
diff changeset
75 1 files updated, 0 files merged, 0 files removed, 0 files unresolved
8ae02203065e tests: unify test-ssh-clone-r
Matt Mackall <mpm@selenic.com>
parents: 4299
diff changeset
76 checking changesets
8ae02203065e tests: unify test-ssh-clone-r
Matt Mackall <mpm@selenic.com>
parents: 4299
diff changeset
77 checking manifests
8ae02203065e tests: unify test-ssh-clone-r
Matt Mackall <mpm@selenic.com>
parents: 4299
diff changeset
78 crosschecking files in changesets and manifests
8ae02203065e tests: unify test-ssh-clone-r
Matt Mackall <mpm@selenic.com>
parents: 4299
diff changeset
79 checking files
8ae02203065e tests: unify test-ssh-clone-r
Matt Mackall <mpm@selenic.com>
parents: 4299
diff changeset
80 1 files, 2 changesets, 2 total revisions
8ae02203065e tests: unify test-ssh-clone-r
Matt Mackall <mpm@selenic.com>
parents: 4299
diff changeset
81 adding changesets
8ae02203065e tests: unify test-ssh-clone-r
Matt Mackall <mpm@selenic.com>
parents: 4299
diff changeset
82 adding manifests
8ae02203065e tests: unify test-ssh-clone-r
Matt Mackall <mpm@selenic.com>
parents: 4299
diff changeset
83 adding file changes
8ae02203065e tests: unify test-ssh-clone-r
Matt Mackall <mpm@selenic.com>
parents: 4299
diff changeset
84 added 3 changesets with 3 changes to 1 files
8ae02203065e tests: unify test-ssh-clone-r
Matt Mackall <mpm@selenic.com>
parents: 4299
diff changeset
85 updating to branch default
8ae02203065e tests: unify test-ssh-clone-r
Matt Mackall <mpm@selenic.com>
parents: 4299
diff changeset
86 1 files updated, 0 files merged, 0 files removed, 0 files unresolved
8ae02203065e tests: unify test-ssh-clone-r
Matt Mackall <mpm@selenic.com>
parents: 4299
diff changeset
87 checking changesets
8ae02203065e tests: unify test-ssh-clone-r
Matt Mackall <mpm@selenic.com>
parents: 4299
diff changeset
88 checking manifests
8ae02203065e tests: unify test-ssh-clone-r
Matt Mackall <mpm@selenic.com>
parents: 4299
diff changeset
89 crosschecking files in changesets and manifests
8ae02203065e tests: unify test-ssh-clone-r
Matt Mackall <mpm@selenic.com>
parents: 4299
diff changeset
90 checking files
8ae02203065e tests: unify test-ssh-clone-r
Matt Mackall <mpm@selenic.com>
parents: 4299
diff changeset
91 1 files, 3 changesets, 3 total revisions
8ae02203065e tests: unify test-ssh-clone-r
Matt Mackall <mpm@selenic.com>
parents: 4299
diff changeset
92 adding changesets
8ae02203065e tests: unify test-ssh-clone-r
Matt Mackall <mpm@selenic.com>
parents: 4299
diff changeset
93 adding manifests
8ae02203065e tests: unify test-ssh-clone-r
Matt Mackall <mpm@selenic.com>
parents: 4299
diff changeset
94 adding file changes
8ae02203065e tests: unify test-ssh-clone-r
Matt Mackall <mpm@selenic.com>
parents: 4299
diff changeset
95 added 4 changesets with 5 changes to 2 files
8ae02203065e tests: unify test-ssh-clone-r
Matt Mackall <mpm@selenic.com>
parents: 4299
diff changeset
96 updating to branch default
8ae02203065e tests: unify test-ssh-clone-r
Matt Mackall <mpm@selenic.com>
parents: 4299
diff changeset
97 2 files updated, 0 files merged, 0 files removed, 0 files unresolved
8ae02203065e tests: unify test-ssh-clone-r
Matt Mackall <mpm@selenic.com>
parents: 4299
diff changeset
98 checking changesets
8ae02203065e tests: unify test-ssh-clone-r
Matt Mackall <mpm@selenic.com>
parents: 4299
diff changeset
99 checking manifests
8ae02203065e tests: unify test-ssh-clone-r
Matt Mackall <mpm@selenic.com>
parents: 4299
diff changeset
100 crosschecking files in changesets and manifests
8ae02203065e tests: unify test-ssh-clone-r
Matt Mackall <mpm@selenic.com>
parents: 4299
diff changeset
101 checking files
8ae02203065e tests: unify test-ssh-clone-r
Matt Mackall <mpm@selenic.com>
parents: 4299
diff changeset
102 2 files, 4 changesets, 5 total revisions
8ae02203065e tests: unify test-ssh-clone-r
Matt Mackall <mpm@selenic.com>
parents: 4299
diff changeset
103 adding changesets
8ae02203065e tests: unify test-ssh-clone-r
Matt Mackall <mpm@selenic.com>
parents: 4299
diff changeset
104 adding manifests
8ae02203065e tests: unify test-ssh-clone-r
Matt Mackall <mpm@selenic.com>
parents: 4299
diff changeset
105 adding file changes
8ae02203065e tests: unify test-ssh-clone-r
Matt Mackall <mpm@selenic.com>
parents: 4299
diff changeset
106 added 5 changesets with 6 changes to 3 files
8ae02203065e tests: unify test-ssh-clone-r
Matt Mackall <mpm@selenic.com>
parents: 4299
diff changeset
107 updating to branch default
8ae02203065e tests: unify test-ssh-clone-r
Matt Mackall <mpm@selenic.com>
parents: 4299
diff changeset
108 2 files updated, 0 files merged, 0 files removed, 0 files unresolved
8ae02203065e tests: unify test-ssh-clone-r
Matt Mackall <mpm@selenic.com>
parents: 4299
diff changeset
109 checking changesets
8ae02203065e tests: unify test-ssh-clone-r
Matt Mackall <mpm@selenic.com>
parents: 4299
diff changeset
110 checking manifests
8ae02203065e tests: unify test-ssh-clone-r
Matt Mackall <mpm@selenic.com>
parents: 4299
diff changeset
111 crosschecking files in changesets and manifests
8ae02203065e tests: unify test-ssh-clone-r
Matt Mackall <mpm@selenic.com>
parents: 4299
diff changeset
112 checking files
8ae02203065e tests: unify test-ssh-clone-r
Matt Mackall <mpm@selenic.com>
parents: 4299
diff changeset
113 3 files, 5 changesets, 6 total revisions
8ae02203065e tests: unify test-ssh-clone-r
Matt Mackall <mpm@selenic.com>
parents: 4299
diff changeset
114 adding changesets
8ae02203065e tests: unify test-ssh-clone-r
Matt Mackall <mpm@selenic.com>
parents: 4299
diff changeset
115 adding manifests
8ae02203065e tests: unify test-ssh-clone-r
Matt Mackall <mpm@selenic.com>
parents: 4299
diff changeset
116 adding file changes
8ae02203065e tests: unify test-ssh-clone-r
Matt Mackall <mpm@selenic.com>
parents: 4299
diff changeset
117 added 5 changesets with 5 changes to 2 files
8ae02203065e tests: unify test-ssh-clone-r
Matt Mackall <mpm@selenic.com>
parents: 4299
diff changeset
118 updating to branch default
8ae02203065e tests: unify test-ssh-clone-r
Matt Mackall <mpm@selenic.com>
parents: 4299
diff changeset
119 1 files updated, 0 files merged, 0 files removed, 0 files unresolved
8ae02203065e tests: unify test-ssh-clone-r
Matt Mackall <mpm@selenic.com>
parents: 4299
diff changeset
120 checking changesets
8ae02203065e tests: unify test-ssh-clone-r
Matt Mackall <mpm@selenic.com>
parents: 4299
diff changeset
121 checking manifests
8ae02203065e tests: unify test-ssh-clone-r
Matt Mackall <mpm@selenic.com>
parents: 4299
diff changeset
122 crosschecking files in changesets and manifests
8ae02203065e tests: unify test-ssh-clone-r
Matt Mackall <mpm@selenic.com>
parents: 4299
diff changeset
123 checking files
8ae02203065e tests: unify test-ssh-clone-r
Matt Mackall <mpm@selenic.com>
parents: 4299
diff changeset
124 2 files, 5 changesets, 5 total revisions
8ae02203065e tests: unify test-ssh-clone-r
Matt Mackall <mpm@selenic.com>
parents: 4299
diff changeset
125 $ cd test-8
8ae02203065e tests: unify test-ssh-clone-r
Matt Mackall <mpm@selenic.com>
parents: 4299
diff changeset
126 $ hg pull ../test-7
8ae02203065e tests: unify test-ssh-clone-r
Matt Mackall <mpm@selenic.com>
parents: 4299
diff changeset
127 pulling from ../test-7
8ae02203065e tests: unify test-ssh-clone-r
Matt Mackall <mpm@selenic.com>
parents: 4299
diff changeset
128 searching for changes
8ae02203065e tests: unify test-ssh-clone-r
Matt Mackall <mpm@selenic.com>
parents: 4299
diff changeset
129 adding changesets
8ae02203065e tests: unify test-ssh-clone-r
Matt Mackall <mpm@selenic.com>
parents: 4299
diff changeset
130 adding manifests
8ae02203065e tests: unify test-ssh-clone-r
Matt Mackall <mpm@selenic.com>
parents: 4299
diff changeset
131 adding file changes
8ae02203065e tests: unify test-ssh-clone-r
Matt Mackall <mpm@selenic.com>
parents: 4299
diff changeset
132 added 4 changesets with 2 changes to 3 files (+1 heads)
8ae02203065e tests: unify test-ssh-clone-r
Matt Mackall <mpm@selenic.com>
parents: 4299
diff changeset
133 (run 'hg heads' to see heads, 'hg merge' to merge)
8ae02203065e tests: unify test-ssh-clone-r
Matt Mackall <mpm@selenic.com>
parents: 4299
diff changeset
134 $ hg verify
8ae02203065e tests: unify test-ssh-clone-r
Matt Mackall <mpm@selenic.com>
parents: 4299
diff changeset
135 checking changesets
8ae02203065e tests: unify test-ssh-clone-r
Matt Mackall <mpm@selenic.com>
parents: 4299
diff changeset
136 checking manifests
8ae02203065e tests: unify test-ssh-clone-r
Matt Mackall <mpm@selenic.com>
parents: 4299
diff changeset
137 crosschecking files in changesets and manifests
8ae02203065e tests: unify test-ssh-clone-r
Matt Mackall <mpm@selenic.com>
parents: 4299
diff changeset
138 checking files
8ae02203065e tests: unify test-ssh-clone-r
Matt Mackall <mpm@selenic.com>
parents: 4299
diff changeset
139 4 files, 9 changesets, 7 total revisions
8ae02203065e tests: unify test-ssh-clone-r
Matt Mackall <mpm@selenic.com>
parents: 4299
diff changeset
140 $ cd ..
8ae02203065e tests: unify test-ssh-clone-r
Matt Mackall <mpm@selenic.com>
parents: 4299
diff changeset
141 $ cd test-1
16541
bb3334806ace tests: quote dummyssh in a way that works on windows too
Mads Kiilerich <mads@kiilerich.com>
parents: 16350
diff changeset
142 $ hg pull -e "python \"$TESTDIR/dummyssh\"" -r 4 ssh://user@dummy/remote
12490
8ae02203065e tests: unify test-ssh-clone-r
Matt Mackall <mpm@selenic.com>
parents: 4299
diff changeset
143 pulling from ssh://user@dummy/remote
8ae02203065e tests: unify test-ssh-clone-r
Matt Mackall <mpm@selenic.com>
parents: 4299
diff changeset
144 searching for changes
8ae02203065e tests: unify test-ssh-clone-r
Matt Mackall <mpm@selenic.com>
parents: 4299
diff changeset
145 adding changesets
8ae02203065e tests: unify test-ssh-clone-r
Matt Mackall <mpm@selenic.com>
parents: 4299
diff changeset
146 adding manifests
8ae02203065e tests: unify test-ssh-clone-r
Matt Mackall <mpm@selenic.com>
parents: 4299
diff changeset
147 adding file changes
13742
7abab875e647 discovery: avoid discovery when local graph is a subset of remote
Peter Arrenbrecht <peter.arrenbrecht@gmail.com>
parents: 12847
diff changeset
148 added 1 changesets with 0 changes to 0 files (+1 heads)
12490
8ae02203065e tests: unify test-ssh-clone-r
Matt Mackall <mpm@selenic.com>
parents: 4299
diff changeset
149 (run 'hg heads' to see heads, 'hg merge' to merge)
8ae02203065e tests: unify test-ssh-clone-r
Matt Mackall <mpm@selenic.com>
parents: 4299
diff changeset
150 $ hg verify
8ae02203065e tests: unify test-ssh-clone-r
Matt Mackall <mpm@selenic.com>
parents: 4299
diff changeset
151 checking changesets
8ae02203065e tests: unify test-ssh-clone-r
Matt Mackall <mpm@selenic.com>
parents: 4299
diff changeset
152 checking manifests
8ae02203065e tests: unify test-ssh-clone-r
Matt Mackall <mpm@selenic.com>
parents: 4299
diff changeset
153 crosschecking files in changesets and manifests
8ae02203065e tests: unify test-ssh-clone-r
Matt Mackall <mpm@selenic.com>
parents: 4299
diff changeset
154 checking files
8ae02203065e tests: unify test-ssh-clone-r
Matt Mackall <mpm@selenic.com>
parents: 4299
diff changeset
155 1 files, 3 changesets, 2 total revisions
16541
bb3334806ace tests: quote dummyssh in a way that works on windows too
Mads Kiilerich <mads@kiilerich.com>
parents: 16350
diff changeset
156 $ hg pull -e "python \"$TESTDIR/dummyssh\"" ssh://user@dummy/remote
12490
8ae02203065e tests: unify test-ssh-clone-r
Matt Mackall <mpm@selenic.com>
parents: 4299
diff changeset
157 pulling from ssh://user@dummy/remote
8ae02203065e tests: unify test-ssh-clone-r
Matt Mackall <mpm@selenic.com>
parents: 4299
diff changeset
158 searching for changes
8ae02203065e tests: unify test-ssh-clone-r
Matt Mackall <mpm@selenic.com>
parents: 4299
diff changeset
159 adding changesets
8ae02203065e tests: unify test-ssh-clone-r
Matt Mackall <mpm@selenic.com>
parents: 4299
diff changeset
160 adding manifests
8ae02203065e tests: unify test-ssh-clone-r
Matt Mackall <mpm@selenic.com>
parents: 4299
diff changeset
161 adding file changes
8ae02203065e tests: unify test-ssh-clone-r
Matt Mackall <mpm@selenic.com>
parents: 4299
diff changeset
162 added 6 changesets with 5 changes to 4 files
8ae02203065e tests: unify test-ssh-clone-r
Matt Mackall <mpm@selenic.com>
parents: 4299
diff changeset
163 (run 'hg update' to get a working copy)
8ae02203065e tests: unify test-ssh-clone-r
Matt Mackall <mpm@selenic.com>
parents: 4299
diff changeset
164 $ cd ..
8ae02203065e tests: unify test-ssh-clone-r
Matt Mackall <mpm@selenic.com>
parents: 4299
diff changeset
165 $ cd test-2
16541
bb3334806ace tests: quote dummyssh in a way that works on windows too
Mads Kiilerich <mads@kiilerich.com>
parents: 16350
diff changeset
166 $ hg pull -e "python \"$TESTDIR/dummyssh\"" -r 5 ssh://user@dummy/remote
12490
8ae02203065e tests: unify test-ssh-clone-r
Matt Mackall <mpm@selenic.com>
parents: 4299
diff changeset
167 pulling from ssh://user@dummy/remote
8ae02203065e tests: unify test-ssh-clone-r
Matt Mackall <mpm@selenic.com>
parents: 4299
diff changeset
168 searching for changes
8ae02203065e tests: unify test-ssh-clone-r
Matt Mackall <mpm@selenic.com>
parents: 4299
diff changeset
169 adding changesets
8ae02203065e tests: unify test-ssh-clone-r
Matt Mackall <mpm@selenic.com>
parents: 4299
diff changeset
170 adding manifests
8ae02203065e tests: unify test-ssh-clone-r
Matt Mackall <mpm@selenic.com>
parents: 4299
diff changeset
171 adding file changes
13742
7abab875e647 discovery: avoid discovery when local graph is a subset of remote
Peter Arrenbrecht <peter.arrenbrecht@gmail.com>
parents: 12847
diff changeset
172 added 2 changesets with 0 changes to 0 files (+1 heads)
12490
8ae02203065e tests: unify test-ssh-clone-r
Matt Mackall <mpm@selenic.com>
parents: 4299
diff changeset
173 (run 'hg heads' to see heads, 'hg merge' to merge)
8ae02203065e tests: unify test-ssh-clone-r
Matt Mackall <mpm@selenic.com>
parents: 4299
diff changeset
174 $ hg verify
8ae02203065e tests: unify test-ssh-clone-r
Matt Mackall <mpm@selenic.com>
parents: 4299
diff changeset
175 checking changesets
8ae02203065e tests: unify test-ssh-clone-r
Matt Mackall <mpm@selenic.com>
parents: 4299
diff changeset
176 checking manifests
8ae02203065e tests: unify test-ssh-clone-r
Matt Mackall <mpm@selenic.com>
parents: 4299
diff changeset
177 crosschecking files in changesets and manifests
8ae02203065e tests: unify test-ssh-clone-r
Matt Mackall <mpm@selenic.com>
parents: 4299
diff changeset
178 checking files
8ae02203065e tests: unify test-ssh-clone-r
Matt Mackall <mpm@selenic.com>
parents: 4299
diff changeset
179 1 files, 5 changesets, 3 total revisions
16541
bb3334806ace tests: quote dummyssh in a way that works on windows too
Mads Kiilerich <mads@kiilerich.com>
parents: 16350
diff changeset
180 $ hg pull -e "python \"$TESTDIR/dummyssh\"" ssh://user@dummy/remote
12490
8ae02203065e tests: unify test-ssh-clone-r
Matt Mackall <mpm@selenic.com>
parents: 4299
diff changeset
181 pulling from ssh://user@dummy/remote
8ae02203065e tests: unify test-ssh-clone-r
Matt Mackall <mpm@selenic.com>
parents: 4299
diff changeset
182 searching for changes
8ae02203065e tests: unify test-ssh-clone-r
Matt Mackall <mpm@selenic.com>
parents: 4299
diff changeset
183 adding changesets
8ae02203065e tests: unify test-ssh-clone-r
Matt Mackall <mpm@selenic.com>
parents: 4299
diff changeset
184 adding manifests
8ae02203065e tests: unify test-ssh-clone-r
Matt Mackall <mpm@selenic.com>
parents: 4299
diff changeset
185 adding file changes
8ae02203065e tests: unify test-ssh-clone-r
Matt Mackall <mpm@selenic.com>
parents: 4299
diff changeset
186 added 4 changesets with 4 changes to 4 files
8ae02203065e tests: unify test-ssh-clone-r
Matt Mackall <mpm@selenic.com>
parents: 4299
diff changeset
187 (run 'hg update' to get a working copy)
8ae02203065e tests: unify test-ssh-clone-r
Matt Mackall <mpm@selenic.com>
parents: 4299
diff changeset
188 $ hg verify
8ae02203065e tests: unify test-ssh-clone-r
Matt Mackall <mpm@selenic.com>
parents: 4299
diff changeset
189 checking changesets
8ae02203065e tests: unify test-ssh-clone-r
Matt Mackall <mpm@selenic.com>
parents: 4299
diff changeset
190 checking manifests
8ae02203065e tests: unify test-ssh-clone-r
Matt Mackall <mpm@selenic.com>
parents: 4299
diff changeset
191 crosschecking files in changesets and manifests
8ae02203065e tests: unify test-ssh-clone-r
Matt Mackall <mpm@selenic.com>
parents: 4299
diff changeset
192 checking files
8ae02203065e tests: unify test-ssh-clone-r
Matt Mackall <mpm@selenic.com>
parents: 4299
diff changeset
193 4 files, 9 changesets, 7 total revisions
16913
f2719b387380 tests: add missing trailing 'cd ..'
Mads Kiilerich <mads@kiilerich.com>
parents: 16541
diff changeset
194
f2719b387380 tests: add missing trailing 'cd ..'
Mads Kiilerich <mads@kiilerich.com>
parents: 16541
diff changeset
195 $ cd ..