Mercurial > hg
annotate tests/test-subrepo-deep-nested-change.t @ 14281:ccb7240acf32
subrepo: create subrepos using clone instead of pull
Subrepositories used to be created empty and then filled with data
using pull. This is wasteful when you do a clone from a local source
since it means that no hardlinks are created for the subrepos.
This patch make the hgsubrepo._get method check for an empty subrepo
and in that case do a clone instead of a pull. This brings in the same
data as before, but creates hardlinks when possible.
author | Martin Geisler <mg@aragost.com> |
---|---|
date | Mon, 09 May 2011 17:15:44 +0200 |
parents | 6cc4b14fb76b |
children | e174353e8cda |
rev | line source |
---|---|
11913
628cdd158ec0
tests: unify test-subrepo-deep-nested-change
Martin Geisler <mg@lazybytes.net>
parents:
11110
diff
changeset
|
1 Preparing the subrepository 'sub2' |
628cdd158ec0
tests: unify test-subrepo-deep-nested-change
Martin Geisler <mg@lazybytes.net>
parents:
11110
diff
changeset
|
2 |
628cdd158ec0
tests: unify test-subrepo-deep-nested-change
Martin Geisler <mg@lazybytes.net>
parents:
11110
diff
changeset
|
3 $ hg init sub2 |
628cdd158ec0
tests: unify test-subrepo-deep-nested-change
Martin Geisler <mg@lazybytes.net>
parents:
11110
diff
changeset
|
4 $ echo sub2 > sub2/sub2 |
628cdd158ec0
tests: unify test-subrepo-deep-nested-change
Martin Geisler <mg@lazybytes.net>
parents:
11110
diff
changeset
|
5 $ hg add -R sub2 |
628cdd158ec0
tests: unify test-subrepo-deep-nested-change
Martin Geisler <mg@lazybytes.net>
parents:
11110
diff
changeset
|
6 adding sub2/sub2 |
628cdd158ec0
tests: unify test-subrepo-deep-nested-change
Martin Geisler <mg@lazybytes.net>
parents:
11110
diff
changeset
|
7 $ hg commit -R sub2 -m "sub2 import" |
628cdd158ec0
tests: unify test-subrepo-deep-nested-change
Martin Geisler <mg@lazybytes.net>
parents:
11110
diff
changeset
|
8 |
628cdd158ec0
tests: unify test-subrepo-deep-nested-change
Martin Geisler <mg@lazybytes.net>
parents:
11110
diff
changeset
|
9 Preparing the 'sub1' repo which depends on the subrepo 'sub2' |
11110
22f5ad0b5857
subrepo: dirtiness checks should iterate over subrepos
Edouard Gomez <ed.gomez@free.fr>
parents:
diff
changeset
|
10 |
11913
628cdd158ec0
tests: unify test-subrepo-deep-nested-change
Martin Geisler <mg@lazybytes.net>
parents:
11110
diff
changeset
|
11 $ hg init sub1 |
628cdd158ec0
tests: unify test-subrepo-deep-nested-change
Martin Geisler <mg@lazybytes.net>
parents:
11110
diff
changeset
|
12 $ echo sub1 > sub1/sub1 |
628cdd158ec0
tests: unify test-subrepo-deep-nested-change
Martin Geisler <mg@lazybytes.net>
parents:
11110
diff
changeset
|
13 $ echo "sub2 = ../sub2" > sub1/.hgsub |
12107
497c78760b37
tests: use regular expression instead of sed in test-subrepo-deep-nested-change
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents:
11913
diff
changeset
|
14 $ hg clone sub2 sub1/sub2 |
11913
628cdd158ec0
tests: unify test-subrepo-deep-nested-change
Martin Geisler <mg@lazybytes.net>
parents:
11110
diff
changeset
|
15 updating to branch default |
628cdd158ec0
tests: unify test-subrepo-deep-nested-change
Martin Geisler <mg@lazybytes.net>
parents:
11110
diff
changeset
|
16 1 files updated, 0 files merged, 0 files removed, 0 files unresolved |
628cdd158ec0
tests: unify test-subrepo-deep-nested-change
Martin Geisler <mg@lazybytes.net>
parents:
11110
diff
changeset
|
17 $ hg add -R sub1 |
628cdd158ec0
tests: unify test-subrepo-deep-nested-change
Martin Geisler <mg@lazybytes.net>
parents:
11110
diff
changeset
|
18 adding sub1/.hgsub |
628cdd158ec0
tests: unify test-subrepo-deep-nested-change
Martin Geisler <mg@lazybytes.net>
parents:
11110
diff
changeset
|
19 adding sub1/sub1 |
628cdd158ec0
tests: unify test-subrepo-deep-nested-change
Martin Geisler <mg@lazybytes.net>
parents:
11110
diff
changeset
|
20 $ hg commit -R sub1 -m "sub1 import" |
628cdd158ec0
tests: unify test-subrepo-deep-nested-change
Martin Geisler <mg@lazybytes.net>
parents:
11110
diff
changeset
|
21 committing subrepository sub2 |
628cdd158ec0
tests: unify test-subrepo-deep-nested-change
Martin Geisler <mg@lazybytes.net>
parents:
11110
diff
changeset
|
22 |
628cdd158ec0
tests: unify test-subrepo-deep-nested-change
Martin Geisler <mg@lazybytes.net>
parents:
11110
diff
changeset
|
23 Preparing the 'main' repo which depends on the subrepo 'sub1' |
11110
22f5ad0b5857
subrepo: dirtiness checks should iterate over subrepos
Edouard Gomez <ed.gomez@free.fr>
parents:
diff
changeset
|
24 |
11913
628cdd158ec0
tests: unify test-subrepo-deep-nested-change
Martin Geisler <mg@lazybytes.net>
parents:
11110
diff
changeset
|
25 $ hg init main |
628cdd158ec0
tests: unify test-subrepo-deep-nested-change
Martin Geisler <mg@lazybytes.net>
parents:
11110
diff
changeset
|
26 $ echo main > main/main |
628cdd158ec0
tests: unify test-subrepo-deep-nested-change
Martin Geisler <mg@lazybytes.net>
parents:
11110
diff
changeset
|
27 $ echo "sub1 = ../sub1" > main/.hgsub |
12107
497c78760b37
tests: use regular expression instead of sed in test-subrepo-deep-nested-change
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents:
11913
diff
changeset
|
28 $ hg clone sub1 main/sub1 |
11913
628cdd158ec0
tests: unify test-subrepo-deep-nested-change
Martin Geisler <mg@lazybytes.net>
parents:
11110
diff
changeset
|
29 updating to branch default |
14281
ccb7240acf32
subrepo: create subrepos using clone instead of pull
Martin Geisler <mg@aragost.com>
parents:
12640
diff
changeset
|
30 cloning subrepo sub2 from $TESTTMP/sub2 |
11913
628cdd158ec0
tests: unify test-subrepo-deep-nested-change
Martin Geisler <mg@lazybytes.net>
parents:
11110
diff
changeset
|
31 3 files updated, 0 files merged, 0 files removed, 0 files unresolved |
628cdd158ec0
tests: unify test-subrepo-deep-nested-change
Martin Geisler <mg@lazybytes.net>
parents:
11110
diff
changeset
|
32 $ hg add -R main |
628cdd158ec0
tests: unify test-subrepo-deep-nested-change
Martin Geisler <mg@lazybytes.net>
parents:
11110
diff
changeset
|
33 adding main/.hgsub |
628cdd158ec0
tests: unify test-subrepo-deep-nested-change
Martin Geisler <mg@lazybytes.net>
parents:
11110
diff
changeset
|
34 adding main/main |
628cdd158ec0
tests: unify test-subrepo-deep-nested-change
Martin Geisler <mg@lazybytes.net>
parents:
11110
diff
changeset
|
35 $ hg commit -R main -m "main import" |
628cdd158ec0
tests: unify test-subrepo-deep-nested-change
Martin Geisler <mg@lazybytes.net>
parents:
11110
diff
changeset
|
36 committing subrepository sub1 |
11110
22f5ad0b5857
subrepo: dirtiness checks should iterate over subrepos
Edouard Gomez <ed.gomez@free.fr>
parents:
diff
changeset
|
37 |
11913
628cdd158ec0
tests: unify test-subrepo-deep-nested-change
Martin Geisler <mg@lazybytes.net>
parents:
11110
diff
changeset
|
38 Cleaning both repositories, just as a clone -U |
628cdd158ec0
tests: unify test-subrepo-deep-nested-change
Martin Geisler <mg@lazybytes.net>
parents:
11110
diff
changeset
|
39 |
628cdd158ec0
tests: unify test-subrepo-deep-nested-change
Martin Geisler <mg@lazybytes.net>
parents:
11110
diff
changeset
|
40 $ hg up -C -R sub2 null |
628cdd158ec0
tests: unify test-subrepo-deep-nested-change
Martin Geisler <mg@lazybytes.net>
parents:
11110
diff
changeset
|
41 0 files updated, 0 files merged, 1 files removed, 0 files unresolved |
628cdd158ec0
tests: unify test-subrepo-deep-nested-change
Martin Geisler <mg@lazybytes.net>
parents:
11110
diff
changeset
|
42 $ hg up -C -R sub1 null |
628cdd158ec0
tests: unify test-subrepo-deep-nested-change
Martin Geisler <mg@lazybytes.net>
parents:
11110
diff
changeset
|
43 0 files updated, 0 files merged, 3 files removed, 0 files unresolved |
628cdd158ec0
tests: unify test-subrepo-deep-nested-change
Martin Geisler <mg@lazybytes.net>
parents:
11110
diff
changeset
|
44 $ hg up -C -R main null |
628cdd158ec0
tests: unify test-subrepo-deep-nested-change
Martin Geisler <mg@lazybytes.net>
parents:
11110
diff
changeset
|
45 0 files updated, 0 files merged, 3 files removed, 0 files unresolved |
628cdd158ec0
tests: unify test-subrepo-deep-nested-change
Martin Geisler <mg@lazybytes.net>
parents:
11110
diff
changeset
|
46 $ rm -rf main/sub1 |
628cdd158ec0
tests: unify test-subrepo-deep-nested-change
Martin Geisler <mg@lazybytes.net>
parents:
11110
diff
changeset
|
47 $ rm -rf sub1/sub2 |
628cdd158ec0
tests: unify test-subrepo-deep-nested-change
Martin Geisler <mg@lazybytes.net>
parents:
11110
diff
changeset
|
48 |
628cdd158ec0
tests: unify test-subrepo-deep-nested-change
Martin Geisler <mg@lazybytes.net>
parents:
11110
diff
changeset
|
49 Clone main |
11110
22f5ad0b5857
subrepo: dirtiness checks should iterate over subrepos
Edouard Gomez <ed.gomez@free.fr>
parents:
diff
changeset
|
50 |
12107
497c78760b37
tests: use regular expression instead of sed in test-subrepo-deep-nested-change
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents:
11913
diff
changeset
|
51 $ hg clone main cloned |
11913
628cdd158ec0
tests: unify test-subrepo-deep-nested-change
Martin Geisler <mg@lazybytes.net>
parents:
11110
diff
changeset
|
52 updating to branch default |
14281
ccb7240acf32
subrepo: create subrepos using clone instead of pull
Martin Geisler <mg@aragost.com>
parents:
12640
diff
changeset
|
53 cloning subrepo sub1 from $TESTTMP/sub1 |
ccb7240acf32
subrepo: create subrepos using clone instead of pull
Martin Geisler <mg@aragost.com>
parents:
12640
diff
changeset
|
54 cloning subrepo sub1/sub2 from $TESTTMP/sub2 |
11913
628cdd158ec0
tests: unify test-subrepo-deep-nested-change
Martin Geisler <mg@lazybytes.net>
parents:
11110
diff
changeset
|
55 3 files updated, 0 files merged, 0 files removed, 0 files unresolved |
11110
22f5ad0b5857
subrepo: dirtiness checks should iterate over subrepos
Edouard Gomez <ed.gomez@free.fr>
parents:
diff
changeset
|
56 |
11913
628cdd158ec0
tests: unify test-subrepo-deep-nested-change
Martin Geisler <mg@lazybytes.net>
parents:
11110
diff
changeset
|
57 Checking cloned repo ids |
11110
22f5ad0b5857
subrepo: dirtiness checks should iterate over subrepos
Edouard Gomez <ed.gomez@free.fr>
parents:
diff
changeset
|
58 |
11913
628cdd158ec0
tests: unify test-subrepo-deep-nested-change
Martin Geisler <mg@lazybytes.net>
parents:
11110
diff
changeset
|
59 $ printf "cloned " ; hg id -R cloned |
628cdd158ec0
tests: unify test-subrepo-deep-nested-change
Martin Geisler <mg@lazybytes.net>
parents:
11110
diff
changeset
|
60 cloned 7f491f53a367 tip |
628cdd158ec0
tests: unify test-subrepo-deep-nested-change
Martin Geisler <mg@lazybytes.net>
parents:
11110
diff
changeset
|
61 $ printf "cloned/sub1 " ; hg id -R cloned/sub1 |
628cdd158ec0
tests: unify test-subrepo-deep-nested-change
Martin Geisler <mg@lazybytes.net>
parents:
11110
diff
changeset
|
62 cloned/sub1 fc3b4ce2696f tip |
628cdd158ec0
tests: unify test-subrepo-deep-nested-change
Martin Geisler <mg@lazybytes.net>
parents:
11110
diff
changeset
|
63 $ printf "cloned/sub1/sub2 " ; hg id -R cloned/sub1/sub2 |
628cdd158ec0
tests: unify test-subrepo-deep-nested-change
Martin Geisler <mg@lazybytes.net>
parents:
11110
diff
changeset
|
64 cloned/sub1/sub2 c57a0840e3ba tip |
628cdd158ec0
tests: unify test-subrepo-deep-nested-change
Martin Geisler <mg@lazybytes.net>
parents:
11110
diff
changeset
|
65 |
628cdd158ec0
tests: unify test-subrepo-deep-nested-change
Martin Geisler <mg@lazybytes.net>
parents:
11110
diff
changeset
|
66 debugsub output for main and sub1 |
11110
22f5ad0b5857
subrepo: dirtiness checks should iterate over subrepos
Edouard Gomez <ed.gomez@free.fr>
parents:
diff
changeset
|
67 |
11913
628cdd158ec0
tests: unify test-subrepo-deep-nested-change
Martin Geisler <mg@lazybytes.net>
parents:
11110
diff
changeset
|
68 $ hg debugsub -R cloned |
628cdd158ec0
tests: unify test-subrepo-deep-nested-change
Martin Geisler <mg@lazybytes.net>
parents:
11110
diff
changeset
|
69 path sub1 |
628cdd158ec0
tests: unify test-subrepo-deep-nested-change
Martin Geisler <mg@lazybytes.net>
parents:
11110
diff
changeset
|
70 source ../sub1 |
628cdd158ec0
tests: unify test-subrepo-deep-nested-change
Martin Geisler <mg@lazybytes.net>
parents:
11110
diff
changeset
|
71 revision fc3b4ce2696f7741438c79207583768f2ce6b0dd |
628cdd158ec0
tests: unify test-subrepo-deep-nested-change
Martin Geisler <mg@lazybytes.net>
parents:
11110
diff
changeset
|
72 $ hg debugsub -R cloned/sub1 |
628cdd158ec0
tests: unify test-subrepo-deep-nested-change
Martin Geisler <mg@lazybytes.net>
parents:
11110
diff
changeset
|
73 path sub2 |
628cdd158ec0
tests: unify test-subrepo-deep-nested-change
Martin Geisler <mg@lazybytes.net>
parents:
11110
diff
changeset
|
74 source ../sub2 |
628cdd158ec0
tests: unify test-subrepo-deep-nested-change
Martin Geisler <mg@lazybytes.net>
parents:
11110
diff
changeset
|
75 revision c57a0840e3badd667ef3c3ef65471609acb2ba3c |
11110
22f5ad0b5857
subrepo: dirtiness checks should iterate over subrepos
Edouard Gomez <ed.gomez@free.fr>
parents:
diff
changeset
|
76 |
11913
628cdd158ec0
tests: unify test-subrepo-deep-nested-change
Martin Geisler <mg@lazybytes.net>
parents:
11110
diff
changeset
|
77 Modifying deeply nested 'sub2' |
628cdd158ec0
tests: unify test-subrepo-deep-nested-change
Martin Geisler <mg@lazybytes.net>
parents:
11110
diff
changeset
|
78 |
628cdd158ec0
tests: unify test-subrepo-deep-nested-change
Martin Geisler <mg@lazybytes.net>
parents:
11110
diff
changeset
|
79 $ echo modified > cloned/sub1/sub2/sub2 |
628cdd158ec0
tests: unify test-subrepo-deep-nested-change
Martin Geisler <mg@lazybytes.net>
parents:
11110
diff
changeset
|
80 $ hg commit -m "deep nested modif should trigger a commit" -R cloned |
628cdd158ec0
tests: unify test-subrepo-deep-nested-change
Martin Geisler <mg@lazybytes.net>
parents:
11110
diff
changeset
|
81 committing subrepository sub1 |
628cdd158ec0
tests: unify test-subrepo-deep-nested-change
Martin Geisler <mg@lazybytes.net>
parents:
11110
diff
changeset
|
82 committing subrepository sub1/sub2 |
628cdd158ec0
tests: unify test-subrepo-deep-nested-change
Martin Geisler <mg@lazybytes.net>
parents:
11110
diff
changeset
|
83 |
628cdd158ec0
tests: unify test-subrepo-deep-nested-change
Martin Geisler <mg@lazybytes.net>
parents:
11110
diff
changeset
|
84 Checking modified node ids |
11110
22f5ad0b5857
subrepo: dirtiness checks should iterate over subrepos
Edouard Gomez <ed.gomez@free.fr>
parents:
diff
changeset
|
85 |
11913
628cdd158ec0
tests: unify test-subrepo-deep-nested-change
Martin Geisler <mg@lazybytes.net>
parents:
11110
diff
changeset
|
86 $ printf "cloned " ; hg id -R cloned |
628cdd158ec0
tests: unify test-subrepo-deep-nested-change
Martin Geisler <mg@lazybytes.net>
parents:
11110
diff
changeset
|
87 cloned ffe6649062fe tip |
628cdd158ec0
tests: unify test-subrepo-deep-nested-change
Martin Geisler <mg@lazybytes.net>
parents:
11110
diff
changeset
|
88 $ printf "cloned/sub1 " ; hg id -R cloned/sub1 |
628cdd158ec0
tests: unify test-subrepo-deep-nested-change
Martin Geisler <mg@lazybytes.net>
parents:
11110
diff
changeset
|
89 cloned/sub1 2ecb03bf44a9 tip |
628cdd158ec0
tests: unify test-subrepo-deep-nested-change
Martin Geisler <mg@lazybytes.net>
parents:
11110
diff
changeset
|
90 $ printf "cloned/sub1/sub2 " ; hg id -R cloned/sub1/sub2 |
628cdd158ec0
tests: unify test-subrepo-deep-nested-change
Martin Geisler <mg@lazybytes.net>
parents:
11110
diff
changeset
|
91 cloned/sub1/sub2 53dd3430bcaf tip |
628cdd158ec0
tests: unify test-subrepo-deep-nested-change
Martin Geisler <mg@lazybytes.net>
parents:
11110
diff
changeset
|
92 |
628cdd158ec0
tests: unify test-subrepo-deep-nested-change
Martin Geisler <mg@lazybytes.net>
parents:
11110
diff
changeset
|
93 debugsub output for main and sub1 |
11110
22f5ad0b5857
subrepo: dirtiness checks should iterate over subrepos
Edouard Gomez <ed.gomez@free.fr>
parents:
diff
changeset
|
94 |
11913
628cdd158ec0
tests: unify test-subrepo-deep-nested-change
Martin Geisler <mg@lazybytes.net>
parents:
11110
diff
changeset
|
95 $ hg debugsub -R cloned |
628cdd158ec0
tests: unify test-subrepo-deep-nested-change
Martin Geisler <mg@lazybytes.net>
parents:
11110
diff
changeset
|
96 path sub1 |
628cdd158ec0
tests: unify test-subrepo-deep-nested-change
Martin Geisler <mg@lazybytes.net>
parents:
11110
diff
changeset
|
97 source ../sub1 |
628cdd158ec0
tests: unify test-subrepo-deep-nested-change
Martin Geisler <mg@lazybytes.net>
parents:
11110
diff
changeset
|
98 revision 2ecb03bf44a94e749e8669481dd9069526ce7cb9 |
628cdd158ec0
tests: unify test-subrepo-deep-nested-change
Martin Geisler <mg@lazybytes.net>
parents:
11110
diff
changeset
|
99 $ hg debugsub -R cloned/sub1 |
628cdd158ec0
tests: unify test-subrepo-deep-nested-change
Martin Geisler <mg@lazybytes.net>
parents:
11110
diff
changeset
|
100 path sub2 |
628cdd158ec0
tests: unify test-subrepo-deep-nested-change
Martin Geisler <mg@lazybytes.net>
parents:
11110
diff
changeset
|
101 source ../sub2 |
628cdd158ec0
tests: unify test-subrepo-deep-nested-change
Martin Geisler <mg@lazybytes.net>
parents:
11110
diff
changeset
|
102 revision 53dd3430bcaf5ab4a7c48262bcad6d441f510487 |