Mercurial > hg
annotate tests/test-treemanifest.t @ 29300:f92afd23a099
bookmarks: make writing files out avoid ambiguity of file stat
Cached attribute repo._bookmarks uses stat of '.hg/bookmarks' and
'.hg/bookmarks.current' files to examine validity of cached
contents. If writing these files out keeps ctime, mtime and size of
them, change is overlooked, and old contents cached before change
isn't invalidated as expected.
To avoid ambiguity of file stat, this patch writes '.hg/bookmarks' and
'.hg/bookmarks.current' files out with checkambig=True.
This patch is a part of "Exact Cache Validation Plan":
https://www.mercurial-scm.org/wiki/ExactCacheValidationPlan
author | FUJIWARA Katsunori <foozy@lares.dti.ne.jp> |
---|---|
date | Fri, 03 Jun 2016 00:44:20 +0900 |
parents | c4b727795d6a |
children | 1b699c7eb2b7 |
rev | line source |
---|---|
28168
1a943a3a78ea
tests: put test-treemanifest.t on a port diet
timeless <timeless@mozdev.org>
parents:
28063
diff
changeset
|
1 #require killdaemons |
1a943a3a78ea
tests: put test-treemanifest.t on a port diet
timeless <timeless@mozdev.org>
parents:
28063
diff
changeset
|
2 |
26920
4d1a96bb831f
test: enable generaldelta early in 'test-treemanifest.t'
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
25398
diff
changeset
|
3 $ cat << EOF >> $HGRCPATH |
4d1a96bb831f
test: enable generaldelta early in 'test-treemanifest.t'
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
25398
diff
changeset
|
4 > [format] |
4d1a96bb831f
test: enable generaldelta early in 'test-treemanifest.t'
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
25398
diff
changeset
|
5 > usegeneraldelta=yes |
27953
88609cfa3745
changegroup: fix pulling to treemanifest repo from flat repo (issue5066)
Martin von Zweigbergk <martinvonz@google.com>
parents:
27952
diff
changeset
|
6 > [ui] |
88609cfa3745
changegroup: fix pulling to treemanifest repo from flat repo (issue5066)
Martin von Zweigbergk <martinvonz@google.com>
parents:
27952
diff
changeset
|
7 > ssh=python "$TESTDIR/dummyssh" |
26920
4d1a96bb831f
test: enable generaldelta early in 'test-treemanifest.t'
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
25398
diff
changeset
|
8 > EOF |
25091
b5052fc73300
treemanifest: store submanifest revlog per directory
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff
changeset
|
9 |
b5052fc73300
treemanifest: store submanifest revlog per directory
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff
changeset
|
10 Set up repo |
b5052fc73300
treemanifest: store submanifest revlog per directory
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff
changeset
|
11 |
b5052fc73300
treemanifest: store submanifest revlog per directory
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff
changeset
|
12 $ hg --config experimental.treemanifest=True init repo |
b5052fc73300
treemanifest: store submanifest revlog per directory
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff
changeset
|
13 $ cd repo |
b5052fc73300
treemanifest: store submanifest revlog per directory
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff
changeset
|
14 |
b5052fc73300
treemanifest: store submanifest revlog per directory
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff
changeset
|
15 Requirements get set on init |
b5052fc73300
treemanifest: store submanifest revlog per directory
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff
changeset
|
16 |
b5052fc73300
treemanifest: store submanifest revlog per directory
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff
changeset
|
17 $ grep treemanifest .hg/requires |
b5052fc73300
treemanifest: store submanifest revlog per directory
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff
changeset
|
18 treemanifest |
b5052fc73300
treemanifest: store submanifest revlog per directory
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff
changeset
|
19 |
b5052fc73300
treemanifest: store submanifest revlog per directory
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff
changeset
|
20 Without directories, looks like any other repo |
b5052fc73300
treemanifest: store submanifest revlog per directory
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff
changeset
|
21 |
b5052fc73300
treemanifest: store submanifest revlog per directory
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff
changeset
|
22 $ echo 0 > a |
b5052fc73300
treemanifest: store submanifest revlog per directory
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff
changeset
|
23 $ echo 0 > b |
b5052fc73300
treemanifest: store submanifest revlog per directory
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff
changeset
|
24 $ hg ci -Aqm initial |
b5052fc73300
treemanifest: store submanifest revlog per directory
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff
changeset
|
25 $ hg debugdata -m 0 |
b5052fc73300
treemanifest: store submanifest revlog per directory
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff
changeset
|
26 a\x00362fef284ce2ca02aecc8de6d5e8a1c3af0556fe (esc) |
b5052fc73300
treemanifest: store submanifest revlog per directory
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff
changeset
|
27 b\x00362fef284ce2ca02aecc8de6d5e8a1c3af0556fe (esc) |
b5052fc73300
treemanifest: store submanifest revlog per directory
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff
changeset
|
28 |
b5052fc73300
treemanifest: store submanifest revlog per directory
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff
changeset
|
29 Submanifest is stored in separate revlog |
b5052fc73300
treemanifest: store submanifest revlog per directory
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff
changeset
|
30 |
b5052fc73300
treemanifest: store submanifest revlog per directory
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff
changeset
|
31 $ mkdir dir1 |
b5052fc73300
treemanifest: store submanifest revlog per directory
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff
changeset
|
32 $ echo 1 > dir1/a |
b5052fc73300
treemanifest: store submanifest revlog per directory
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff
changeset
|
33 $ echo 1 > dir1/b |
b5052fc73300
treemanifest: store submanifest revlog per directory
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff
changeset
|
34 $ echo 1 > e |
b5052fc73300
treemanifest: store submanifest revlog per directory
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff
changeset
|
35 $ hg ci -Aqm 'add dir1' |
b5052fc73300
treemanifest: store submanifest revlog per directory
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff
changeset
|
36 $ hg debugdata -m 1 |
b5052fc73300
treemanifest: store submanifest revlog per directory
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff
changeset
|
37 a\x00362fef284ce2ca02aecc8de6d5e8a1c3af0556fe (esc) |
b5052fc73300
treemanifest: store submanifest revlog per directory
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff
changeset
|
38 b\x00362fef284ce2ca02aecc8de6d5e8a1c3af0556fe (esc) |
27271
2a31433a59ba
manifest: use 't' for tree manifest flag
Martin von Zweigbergk <martinvonz@google.com>
parents:
27251
diff
changeset
|
39 dir1\x008b3ffd73f901e83304c83d33132c8e774ceac44et (esc) |
25091
b5052fc73300
treemanifest: store submanifest revlog per directory
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff
changeset
|
40 e\x00b8e02f6433738021a065f94175c7cd23db5f05be (esc) |
25119
49c583ca48c4
treemanifest: add --dir option to debug{revlog,data,index}
Martin von Zweigbergk <martinvonz@google.com>
parents:
25091
diff
changeset
|
41 $ hg debugdata --dir dir1 0 |
25091
b5052fc73300
treemanifest: store submanifest revlog per directory
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff
changeset
|
42 a\x00b8e02f6433738021a065f94175c7cd23db5f05be (esc) |
b5052fc73300
treemanifest: store submanifest revlog per directory
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff
changeset
|
43 b\x00b8e02f6433738021a065f94175c7cd23db5f05be (esc) |
b5052fc73300
treemanifest: store submanifest revlog per directory
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff
changeset
|
44 |
b5052fc73300
treemanifest: store submanifest revlog per directory
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff
changeset
|
45 Can add nested directories |
b5052fc73300
treemanifest: store submanifest revlog per directory
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff
changeset
|
46 |
b5052fc73300
treemanifest: store submanifest revlog per directory
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff
changeset
|
47 $ mkdir dir1/dir1 |
b5052fc73300
treemanifest: store submanifest revlog per directory
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff
changeset
|
48 $ echo 2 > dir1/dir1/a |
b5052fc73300
treemanifest: store submanifest revlog per directory
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff
changeset
|
49 $ echo 2 > dir1/dir1/b |
b5052fc73300
treemanifest: store submanifest revlog per directory
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff
changeset
|
50 $ mkdir dir1/dir2 |
b5052fc73300
treemanifest: store submanifest revlog per directory
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff
changeset
|
51 $ echo 2 > dir1/dir2/a |
b5052fc73300
treemanifest: store submanifest revlog per directory
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff
changeset
|
52 $ echo 2 > dir1/dir2/b |
b5052fc73300
treemanifest: store submanifest revlog per directory
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff
changeset
|
53 $ hg ci -Aqm 'add dir1/dir1' |
b5052fc73300
treemanifest: store submanifest revlog per directory
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff
changeset
|
54 $ hg files -r . |
b5052fc73300
treemanifest: store submanifest revlog per directory
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff
changeset
|
55 a |
b5052fc73300
treemanifest: store submanifest revlog per directory
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff
changeset
|
56 b |
25153
1929d9c84028
test-treemanifest: add globs for Windows
Matt Harbison <matt_harbison@yahoo.com>
parents:
25119
diff
changeset
|
57 dir1/a (glob) |
1929d9c84028
test-treemanifest: add globs for Windows
Matt Harbison <matt_harbison@yahoo.com>
parents:
25119
diff
changeset
|
58 dir1/b (glob) |
1929d9c84028
test-treemanifest: add globs for Windows
Matt Harbison <matt_harbison@yahoo.com>
parents:
25119
diff
changeset
|
59 dir1/dir1/a (glob) |
1929d9c84028
test-treemanifest: add globs for Windows
Matt Harbison <matt_harbison@yahoo.com>
parents:
25119
diff
changeset
|
60 dir1/dir1/b (glob) |
1929d9c84028
test-treemanifest: add globs for Windows
Matt Harbison <matt_harbison@yahoo.com>
parents:
25119
diff
changeset
|
61 dir1/dir2/a (glob) |
1929d9c84028
test-treemanifest: add globs for Windows
Matt Harbison <matt_harbison@yahoo.com>
parents:
25119
diff
changeset
|
62 dir1/dir2/b (glob) |
25091
b5052fc73300
treemanifest: store submanifest revlog per directory
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff
changeset
|
63 e |
b5052fc73300
treemanifest: store submanifest revlog per directory
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff
changeset
|
64 |
b5052fc73300
treemanifest: store submanifest revlog per directory
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff
changeset
|
65 Revision is not created for unchanged directory |
b5052fc73300
treemanifest: store submanifest revlog per directory
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff
changeset
|
66 |
b5052fc73300
treemanifest: store submanifest revlog per directory
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff
changeset
|
67 $ mkdir dir2 |
b5052fc73300
treemanifest: store submanifest revlog per directory
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff
changeset
|
68 $ echo 3 > dir2/a |
b5052fc73300
treemanifest: store submanifest revlog per directory
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff
changeset
|
69 $ hg add dir2 |
25153
1929d9c84028
test-treemanifest: add globs for Windows
Matt Harbison <matt_harbison@yahoo.com>
parents:
25119
diff
changeset
|
70 adding dir2/a (glob) |
25119
49c583ca48c4
treemanifest: add --dir option to debug{revlog,data,index}
Martin von Zweigbergk <martinvonz@google.com>
parents:
25091
diff
changeset
|
71 $ hg debugindex --dir dir1 > before |
25091
b5052fc73300
treemanifest: store submanifest revlog per directory
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff
changeset
|
72 $ hg ci -qm 'add dir2' |
25119
49c583ca48c4
treemanifest: add --dir option to debug{revlog,data,index}
Martin von Zweigbergk <martinvonz@google.com>
parents:
25091
diff
changeset
|
73 $ hg debugindex --dir dir1 > after |
25091
b5052fc73300
treemanifest: store submanifest revlog per directory
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff
changeset
|
74 $ diff before after |
b5052fc73300
treemanifest: store submanifest revlog per directory
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff
changeset
|
75 $ rm before after |
b5052fc73300
treemanifest: store submanifest revlog per directory
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff
changeset
|
76 |
b5052fc73300
treemanifest: store submanifest revlog per directory
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff
changeset
|
77 Removing directory does not create an revlog entry |
b5052fc73300
treemanifest: store submanifest revlog per directory
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff
changeset
|
78 |
b5052fc73300
treemanifest: store submanifest revlog per directory
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff
changeset
|
79 $ hg rm dir1/dir1 |
25153
1929d9c84028
test-treemanifest: add globs for Windows
Matt Harbison <matt_harbison@yahoo.com>
parents:
25119
diff
changeset
|
80 removing dir1/dir1/a (glob) |
1929d9c84028
test-treemanifest: add globs for Windows
Matt Harbison <matt_harbison@yahoo.com>
parents:
25119
diff
changeset
|
81 removing dir1/dir1/b (glob) |
25119
49c583ca48c4
treemanifest: add --dir option to debug{revlog,data,index}
Martin von Zweigbergk <martinvonz@google.com>
parents:
25091
diff
changeset
|
82 $ hg debugindex --dir dir1/dir1 > before |
25091
b5052fc73300
treemanifest: store submanifest revlog per directory
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff
changeset
|
83 $ hg ci -qm 'remove dir1/dir1' |
25119
49c583ca48c4
treemanifest: add --dir option to debug{revlog,data,index}
Martin von Zweigbergk <martinvonz@google.com>
parents:
25091
diff
changeset
|
84 $ hg debugindex --dir dir1/dir1 > after |
25091
b5052fc73300
treemanifest: store submanifest revlog per directory
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff
changeset
|
85 $ diff before after |
b5052fc73300
treemanifest: store submanifest revlog per directory
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff
changeset
|
86 $ rm before after |
b5052fc73300
treemanifest: store submanifest revlog per directory
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff
changeset
|
87 |
b5052fc73300
treemanifest: store submanifest revlog per directory
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff
changeset
|
88 Check that hg files (calls treemanifest.walk()) works |
25222
0de132d5328a
treemanifest: lazily load manifests
Martin von Zweigbergk <martinvonz@google.com>
parents:
25153
diff
changeset
|
89 without loading all directory revlogs |
25091
b5052fc73300
treemanifest: store submanifest revlog per directory
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff
changeset
|
90 |
b5052fc73300
treemanifest: store submanifest revlog per directory
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff
changeset
|
91 $ hg co 'desc("add dir2")' |
b5052fc73300
treemanifest: store submanifest revlog per directory
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff
changeset
|
92 2 files updated, 0 files merged, 0 files removed, 0 files unresolved |
25222
0de132d5328a
treemanifest: lazily load manifests
Martin von Zweigbergk <martinvonz@google.com>
parents:
25153
diff
changeset
|
93 $ mv .hg/store/meta/dir2 .hg/store/meta/dir2-backup |
25091
b5052fc73300
treemanifest: store submanifest revlog per directory
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff
changeset
|
94 $ hg files -r . dir1 |
25153
1929d9c84028
test-treemanifest: add globs for Windows
Matt Harbison <matt_harbison@yahoo.com>
parents:
25119
diff
changeset
|
95 dir1/a (glob) |
1929d9c84028
test-treemanifest: add globs for Windows
Matt Harbison <matt_harbison@yahoo.com>
parents:
25119
diff
changeset
|
96 dir1/b (glob) |
1929d9c84028
test-treemanifest: add globs for Windows
Matt Harbison <matt_harbison@yahoo.com>
parents:
25119
diff
changeset
|
97 dir1/dir1/a (glob) |
1929d9c84028
test-treemanifest: add globs for Windows
Matt Harbison <matt_harbison@yahoo.com>
parents:
25119
diff
changeset
|
98 dir1/dir1/b (glob) |
1929d9c84028
test-treemanifest: add globs for Windows
Matt Harbison <matt_harbison@yahoo.com>
parents:
25119
diff
changeset
|
99 dir1/dir2/a (glob) |
1929d9c84028
test-treemanifest: add globs for Windows
Matt Harbison <matt_harbison@yahoo.com>
parents:
25119
diff
changeset
|
100 dir1/dir2/b (glob) |
25091
b5052fc73300
treemanifest: store submanifest revlog per directory
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff
changeset
|
101 |
b5052fc73300
treemanifest: store submanifest revlog per directory
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff
changeset
|
102 Check that status between revisions works (calls treemanifest.matches()) |
25222
0de132d5328a
treemanifest: lazily load manifests
Martin von Zweigbergk <martinvonz@google.com>
parents:
25153
diff
changeset
|
103 without loading all directory revlogs |
25091
b5052fc73300
treemanifest: store submanifest revlog per directory
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff
changeset
|
104 |
b5052fc73300
treemanifest: store submanifest revlog per directory
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff
changeset
|
105 $ hg status --rev 'desc("add dir1")' --rev . dir1 |
b5052fc73300
treemanifest: store submanifest revlog per directory
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff
changeset
|
106 A dir1/dir1/a |
b5052fc73300
treemanifest: store submanifest revlog per directory
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff
changeset
|
107 A dir1/dir1/b |
b5052fc73300
treemanifest: store submanifest revlog per directory
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff
changeset
|
108 A dir1/dir2/a |
b5052fc73300
treemanifest: store submanifest revlog per directory
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff
changeset
|
109 A dir1/dir2/b |
25222
0de132d5328a
treemanifest: lazily load manifests
Martin von Zweigbergk <martinvonz@google.com>
parents:
25153
diff
changeset
|
110 $ mv .hg/store/meta/dir2-backup .hg/store/meta/dir2 |
25091
b5052fc73300
treemanifest: store submanifest revlog per directory
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff
changeset
|
111 |
b5052fc73300
treemanifest: store submanifest revlog per directory
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff
changeset
|
112 Merge creates 2-parent revision of directory revlog |
b5052fc73300
treemanifest: store submanifest revlog per directory
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff
changeset
|
113 |
b5052fc73300
treemanifest: store submanifest revlog per directory
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff
changeset
|
114 $ echo 5 > dir1/a |
b5052fc73300
treemanifest: store submanifest revlog per directory
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff
changeset
|
115 $ hg ci -Aqm 'modify dir1/a' |
b5052fc73300
treemanifest: store submanifest revlog per directory
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff
changeset
|
116 $ hg co '.^' |
b5052fc73300
treemanifest: store submanifest revlog per directory
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff
changeset
|
117 1 files updated, 0 files merged, 0 files removed, 0 files unresolved |
b5052fc73300
treemanifest: store submanifest revlog per directory
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff
changeset
|
118 $ echo 6 > dir1/b |
b5052fc73300
treemanifest: store submanifest revlog per directory
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff
changeset
|
119 $ hg ci -Aqm 'modify dir1/b' |
b5052fc73300
treemanifest: store submanifest revlog per directory
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff
changeset
|
120 $ hg merge 'desc("modify dir1/a")' |
b5052fc73300
treemanifest: store submanifest revlog per directory
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff
changeset
|
121 1 files updated, 0 files merged, 0 files removed, 0 files unresolved |
b5052fc73300
treemanifest: store submanifest revlog per directory
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff
changeset
|
122 (branch merge, don't forget to commit) |
b5052fc73300
treemanifest: store submanifest revlog per directory
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff
changeset
|
123 $ hg ci -m 'conflict-free merge involving dir1/' |
b5052fc73300
treemanifest: store submanifest revlog per directory
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff
changeset
|
124 $ cat dir1/a |
b5052fc73300
treemanifest: store submanifest revlog per directory
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff
changeset
|
125 5 |
b5052fc73300
treemanifest: store submanifest revlog per directory
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff
changeset
|
126 $ cat dir1/b |
b5052fc73300
treemanifest: store submanifest revlog per directory
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff
changeset
|
127 6 |
25119
49c583ca48c4
treemanifest: add --dir option to debug{revlog,data,index}
Martin von Zweigbergk <martinvonz@google.com>
parents:
25091
diff
changeset
|
128 $ hg debugindex --dir dir1 |
26920
4d1a96bb831f
test: enable generaldelta early in 'test-treemanifest.t'
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
25398
diff
changeset
|
129 rev offset length delta linkrev nodeid p1 p2 |
4d1a96bb831f
test: enable generaldelta early in 'test-treemanifest.t'
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
25398
diff
changeset
|
130 0 0 54 -1 1 8b3ffd73f901 000000000000 000000000000 |
27271
2a31433a59ba
manifest: use 't' for tree manifest flag
Martin von Zweigbergk <martinvonz@google.com>
parents:
27251
diff
changeset
|
131 1 54 68 0 2 68e9d057c5a8 8b3ffd73f901 000000000000 |
2a31433a59ba
manifest: use 't' for tree manifest flag
Martin von Zweigbergk <martinvonz@google.com>
parents:
27251
diff
changeset
|
132 2 122 12 1 4 4698198d2624 68e9d057c5a8 000000000000 |
2a31433a59ba
manifest: use 't' for tree manifest flag
Martin von Zweigbergk <martinvonz@google.com>
parents:
27251
diff
changeset
|
133 3 134 55 1 5 44844058ccce 68e9d057c5a8 000000000000 |
2a31433a59ba
manifest: use 't' for tree manifest flag
Martin von Zweigbergk <martinvonz@google.com>
parents:
27251
diff
changeset
|
134 4 189 55 1 6 bf3d9b744927 68e9d057c5a8 000000000000 |
2a31433a59ba
manifest: use 't' for tree manifest flag
Martin von Zweigbergk <martinvonz@google.com>
parents:
27251
diff
changeset
|
135 5 244 55 4 7 dde7c0af2a03 bf3d9b744927 44844058ccce |
25091
b5052fc73300
treemanifest: store submanifest revlog per directory
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff
changeset
|
136 |
b5052fc73300
treemanifest: store submanifest revlog per directory
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff
changeset
|
137 Merge keeping directory from parent 1 does not create revlog entry. (Note that |
b5052fc73300
treemanifest: store submanifest revlog per directory
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff
changeset
|
138 dir1's manifest does change, but only because dir1/a's filelog changes.) |
b5052fc73300
treemanifest: store submanifest revlog per directory
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff
changeset
|
139 |
b5052fc73300
treemanifest: store submanifest revlog per directory
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff
changeset
|
140 $ hg co 'desc("add dir2")' |
b5052fc73300
treemanifest: store submanifest revlog per directory
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff
changeset
|
141 2 files updated, 0 files merged, 0 files removed, 0 files unresolved |
b5052fc73300
treemanifest: store submanifest revlog per directory
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff
changeset
|
142 $ echo 8 > dir2/a |
b5052fc73300
treemanifest: store submanifest revlog per directory
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff
changeset
|
143 $ hg ci -m 'modify dir2/a' |
b5052fc73300
treemanifest: store submanifest revlog per directory
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff
changeset
|
144 created new head |
b5052fc73300
treemanifest: store submanifest revlog per directory
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff
changeset
|
145 |
25119
49c583ca48c4
treemanifest: add --dir option to debug{revlog,data,index}
Martin von Zweigbergk <martinvonz@google.com>
parents:
25091
diff
changeset
|
146 $ hg debugindex --dir dir2 > before |
25091
b5052fc73300
treemanifest: store submanifest revlog per directory
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff
changeset
|
147 $ hg merge 'desc("modify dir1/a")' |
b5052fc73300
treemanifest: store submanifest revlog per directory
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff
changeset
|
148 1 files updated, 0 files merged, 0 files removed, 0 files unresolved |
b5052fc73300
treemanifest: store submanifest revlog per directory
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff
changeset
|
149 (branch merge, don't forget to commit) |
b5052fc73300
treemanifest: store submanifest revlog per directory
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff
changeset
|
150 $ hg revert -r 'desc("modify dir2/a")' . |
b5052fc73300
treemanifest: store submanifest revlog per directory
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff
changeset
|
151 reverting dir1/a (glob) |
b5052fc73300
treemanifest: store submanifest revlog per directory
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff
changeset
|
152 $ hg ci -m 'merge, keeping parent 1' |
25119
49c583ca48c4
treemanifest: add --dir option to debug{revlog,data,index}
Martin von Zweigbergk <martinvonz@google.com>
parents:
25091
diff
changeset
|
153 $ hg debugindex --dir dir2 > after |
25091
b5052fc73300
treemanifest: store submanifest revlog per directory
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff
changeset
|
154 $ diff before after |
b5052fc73300
treemanifest: store submanifest revlog per directory
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff
changeset
|
155 $ rm before after |
b5052fc73300
treemanifest: store submanifest revlog per directory
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff
changeset
|
156 |
b5052fc73300
treemanifest: store submanifest revlog per directory
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff
changeset
|
157 Merge keeping directory from parent 2 does not create revlog entry. (Note that |
b5052fc73300
treemanifest: store submanifest revlog per directory
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff
changeset
|
158 dir2's manifest does change, but only because dir2/a's filelog changes.) |
b5052fc73300
treemanifest: store submanifest revlog per directory
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff
changeset
|
159 |
b5052fc73300
treemanifest: store submanifest revlog per directory
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff
changeset
|
160 $ hg co 'desc("modify dir2/a")' |
b5052fc73300
treemanifest: store submanifest revlog per directory
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff
changeset
|
161 1 files updated, 0 files merged, 0 files removed, 0 files unresolved |
25119
49c583ca48c4
treemanifest: add --dir option to debug{revlog,data,index}
Martin von Zweigbergk <martinvonz@google.com>
parents:
25091
diff
changeset
|
162 $ hg debugindex --dir dir1 > before |
25091
b5052fc73300
treemanifest: store submanifest revlog per directory
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff
changeset
|
163 $ hg merge 'desc("modify dir1/a")' |
b5052fc73300
treemanifest: store submanifest revlog per directory
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff
changeset
|
164 1 files updated, 0 files merged, 0 files removed, 0 files unresolved |
b5052fc73300
treemanifest: store submanifest revlog per directory
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff
changeset
|
165 (branch merge, don't forget to commit) |
b5052fc73300
treemanifest: store submanifest revlog per directory
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff
changeset
|
166 $ hg revert -r 'desc("modify dir1/a")' . |
b5052fc73300
treemanifest: store submanifest revlog per directory
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff
changeset
|
167 reverting dir2/a (glob) |
b5052fc73300
treemanifest: store submanifest revlog per directory
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff
changeset
|
168 $ hg ci -m 'merge, keeping parent 2' |
b5052fc73300
treemanifest: store submanifest revlog per directory
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff
changeset
|
169 created new head |
25119
49c583ca48c4
treemanifest: add --dir option to debug{revlog,data,index}
Martin von Zweigbergk <martinvonz@google.com>
parents:
25091
diff
changeset
|
170 $ hg debugindex --dir dir1 > after |
25091
b5052fc73300
treemanifest: store submanifest revlog per directory
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff
changeset
|
171 $ diff before after |
b5052fc73300
treemanifest: store submanifest revlog per directory
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff
changeset
|
172 $ rm before after |
b5052fc73300
treemanifest: store submanifest revlog per directory
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff
changeset
|
173 |
b5052fc73300
treemanifest: store submanifest revlog per directory
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff
changeset
|
174 Create flat source repo for tests with mixed flat/tree manifests |
b5052fc73300
treemanifest: store submanifest revlog per directory
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff
changeset
|
175 |
b5052fc73300
treemanifest: store submanifest revlog per directory
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff
changeset
|
176 $ cd .. |
b5052fc73300
treemanifest: store submanifest revlog per directory
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff
changeset
|
177 $ hg init repo-flat |
b5052fc73300
treemanifest: store submanifest revlog per directory
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff
changeset
|
178 $ cd repo-flat |
b5052fc73300
treemanifest: store submanifest revlog per directory
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff
changeset
|
179 |
b5052fc73300
treemanifest: store submanifest revlog per directory
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff
changeset
|
180 Create a few commits with flat manifest |
b5052fc73300
treemanifest: store submanifest revlog per directory
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff
changeset
|
181 |
b5052fc73300
treemanifest: store submanifest revlog per directory
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff
changeset
|
182 $ echo 0 > a |
b5052fc73300
treemanifest: store submanifest revlog per directory
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff
changeset
|
183 $ echo 0 > b |
b5052fc73300
treemanifest: store submanifest revlog per directory
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff
changeset
|
184 $ echo 0 > e |
b5052fc73300
treemanifest: store submanifest revlog per directory
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff
changeset
|
185 $ for d in dir1 dir1/dir1 dir1/dir2 dir2 |
b5052fc73300
treemanifest: store submanifest revlog per directory
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff
changeset
|
186 > do |
b5052fc73300
treemanifest: store submanifest revlog per directory
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff
changeset
|
187 > mkdir $d |
b5052fc73300
treemanifest: store submanifest revlog per directory
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff
changeset
|
188 > echo 0 > $d/a |
b5052fc73300
treemanifest: store submanifest revlog per directory
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff
changeset
|
189 > echo 0 > $d/b |
b5052fc73300
treemanifest: store submanifest revlog per directory
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff
changeset
|
190 > done |
b5052fc73300
treemanifest: store submanifest revlog per directory
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff
changeset
|
191 $ hg ci -Aqm initial |
b5052fc73300
treemanifest: store submanifest revlog per directory
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff
changeset
|
192 |
b5052fc73300
treemanifest: store submanifest revlog per directory
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff
changeset
|
193 $ echo 1 > a |
b5052fc73300
treemanifest: store submanifest revlog per directory
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff
changeset
|
194 $ echo 1 > dir1/a |
b5052fc73300
treemanifest: store submanifest revlog per directory
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff
changeset
|
195 $ echo 1 > dir1/dir1/a |
b5052fc73300
treemanifest: store submanifest revlog per directory
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff
changeset
|
196 $ hg ci -Aqm 'modify on branch 1' |
b5052fc73300
treemanifest: store submanifest revlog per directory
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff
changeset
|
197 |
b5052fc73300
treemanifest: store submanifest revlog per directory
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff
changeset
|
198 $ hg co 0 |
b5052fc73300
treemanifest: store submanifest revlog per directory
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff
changeset
|
199 3 files updated, 0 files merged, 0 files removed, 0 files unresolved |
b5052fc73300
treemanifest: store submanifest revlog per directory
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff
changeset
|
200 $ echo 2 > b |
b5052fc73300
treemanifest: store submanifest revlog per directory
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff
changeset
|
201 $ echo 2 > dir1/b |
b5052fc73300
treemanifest: store submanifest revlog per directory
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff
changeset
|
202 $ echo 2 > dir1/dir1/b |
b5052fc73300
treemanifest: store submanifest revlog per directory
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff
changeset
|
203 $ hg ci -Aqm 'modify on branch 2' |
b5052fc73300
treemanifest: store submanifest revlog per directory
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff
changeset
|
204 |
b5052fc73300
treemanifest: store submanifest revlog per directory
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff
changeset
|
205 $ hg merge 1 |
b5052fc73300
treemanifest: store submanifest revlog per directory
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff
changeset
|
206 3 files updated, 0 files merged, 0 files removed, 0 files unresolved |
b5052fc73300
treemanifest: store submanifest revlog per directory
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff
changeset
|
207 (branch merge, don't forget to commit) |
b5052fc73300
treemanifest: store submanifest revlog per directory
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff
changeset
|
208 $ hg ci -m 'merge of flat manifests to new flat manifest' |
b5052fc73300
treemanifest: store submanifest revlog per directory
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff
changeset
|
209 |
27953
88609cfa3745
changegroup: fix pulling to treemanifest repo from flat repo (issue5066)
Martin von Zweigbergk <martinvonz@google.com>
parents:
27952
diff
changeset
|
210 $ hg serve -p $HGPORT -d --pid-file=hg.pid --errorlog=errors.log |
88609cfa3745
changegroup: fix pulling to treemanifest repo from flat repo (issue5066)
Martin von Zweigbergk <martinvonz@google.com>
parents:
27952
diff
changeset
|
211 $ cat hg.pid >> $DAEMON_PIDS |
88609cfa3745
changegroup: fix pulling to treemanifest repo from flat repo (issue5066)
Martin von Zweigbergk <martinvonz@google.com>
parents:
27952
diff
changeset
|
212 |
25091
b5052fc73300
treemanifest: store submanifest revlog per directory
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff
changeset
|
213 Create clone with tree manifests enabled |
b5052fc73300
treemanifest: store submanifest revlog per directory
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff
changeset
|
214 |
b5052fc73300
treemanifest: store submanifest revlog per directory
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff
changeset
|
215 $ cd .. |
27953
88609cfa3745
changegroup: fix pulling to treemanifest repo from flat repo (issue5066)
Martin von Zweigbergk <martinvonz@google.com>
parents:
27952
diff
changeset
|
216 $ hg clone --config experimental.treemanifest=1 \ |
88609cfa3745
changegroup: fix pulling to treemanifest repo from flat repo (issue5066)
Martin von Zweigbergk <martinvonz@google.com>
parents:
27952
diff
changeset
|
217 > http://localhost:$HGPORT repo-mixed -r 1 |
25091
b5052fc73300
treemanifest: store submanifest revlog per directory
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff
changeset
|
218 adding changesets |
b5052fc73300
treemanifest: store submanifest revlog per directory
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff
changeset
|
219 adding manifests |
b5052fc73300
treemanifest: store submanifest revlog per directory
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff
changeset
|
220 adding file changes |
27953
88609cfa3745
changegroup: fix pulling to treemanifest repo from flat repo (issue5066)
Martin von Zweigbergk <martinvonz@google.com>
parents:
27952
diff
changeset
|
221 added 2 changesets with 14 changes to 11 files |
25091
b5052fc73300
treemanifest: store submanifest revlog per directory
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff
changeset
|
222 updating to branch default |
b5052fc73300
treemanifest: store submanifest revlog per directory
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff
changeset
|
223 11 files updated, 0 files merged, 0 files removed, 0 files unresolved |
b5052fc73300
treemanifest: store submanifest revlog per directory
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff
changeset
|
224 $ cd repo-mixed |
27952
c5ffbd4c033b
tests: minor cleanup to treemanifest test
Martin von Zweigbergk <martinvonz@google.com>
parents:
27946
diff
changeset
|
225 $ test -d .hg/store/meta |
25091
b5052fc73300
treemanifest: store submanifest revlog per directory
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff
changeset
|
226 [1] |
b5052fc73300
treemanifest: store submanifest revlog per directory
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff
changeset
|
227 $ grep treemanifest .hg/requires |
b5052fc73300
treemanifest: store submanifest revlog per directory
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff
changeset
|
228 treemanifest |
b5052fc73300
treemanifest: store submanifest revlog per directory
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff
changeset
|
229 |
27953
88609cfa3745
changegroup: fix pulling to treemanifest repo from flat repo (issue5066)
Martin von Zweigbergk <martinvonz@google.com>
parents:
27952
diff
changeset
|
230 Should be possible to push updates from flat to tree manifest repo |
88609cfa3745
changegroup: fix pulling to treemanifest repo from flat repo (issue5066)
Martin von Zweigbergk <martinvonz@google.com>
parents:
27952
diff
changeset
|
231 |
88609cfa3745
changegroup: fix pulling to treemanifest repo from flat repo (issue5066)
Martin von Zweigbergk <martinvonz@google.com>
parents:
27952
diff
changeset
|
232 $ hg -R ../repo-flat push ssh://user@dummy/repo-mixed |
88609cfa3745
changegroup: fix pulling to treemanifest repo from flat repo (issue5066)
Martin von Zweigbergk <martinvonz@google.com>
parents:
27952
diff
changeset
|
233 pushing to ssh://user@dummy/repo-mixed |
88609cfa3745
changegroup: fix pulling to treemanifest repo from flat repo (issue5066)
Martin von Zweigbergk <martinvonz@google.com>
parents:
27952
diff
changeset
|
234 searching for changes |
88609cfa3745
changegroup: fix pulling to treemanifest repo from flat repo (issue5066)
Martin von Zweigbergk <martinvonz@google.com>
parents:
27952
diff
changeset
|
235 remote: adding changesets |
88609cfa3745
changegroup: fix pulling to treemanifest repo from flat repo (issue5066)
Martin von Zweigbergk <martinvonz@google.com>
parents:
27952
diff
changeset
|
236 remote: adding manifests |
88609cfa3745
changegroup: fix pulling to treemanifest repo from flat repo (issue5066)
Martin von Zweigbergk <martinvonz@google.com>
parents:
27952
diff
changeset
|
237 remote: adding file changes |
88609cfa3745
changegroup: fix pulling to treemanifest repo from flat repo (issue5066)
Martin von Zweigbergk <martinvonz@google.com>
parents:
27952
diff
changeset
|
238 remote: added 2 changesets with 3 changes to 3 files |
88609cfa3745
changegroup: fix pulling to treemanifest repo from flat repo (issue5066)
Martin von Zweigbergk <martinvonz@google.com>
parents:
27952
diff
changeset
|
239 |
25091
b5052fc73300
treemanifest: store submanifest revlog per directory
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff
changeset
|
240 Commit should store revlog per directory |
b5052fc73300
treemanifest: store submanifest revlog per directory
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff
changeset
|
241 |
b5052fc73300
treemanifest: store submanifest revlog per directory
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff
changeset
|
242 $ hg co 1 |
27953
88609cfa3745
changegroup: fix pulling to treemanifest repo from flat repo (issue5066)
Martin von Zweigbergk <martinvonz@google.com>
parents:
27952
diff
changeset
|
243 0 files updated, 0 files merged, 0 files removed, 0 files unresolved |
25091
b5052fc73300
treemanifest: store submanifest revlog per directory
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff
changeset
|
244 $ echo 3 > a |
b5052fc73300
treemanifest: store submanifest revlog per directory
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff
changeset
|
245 $ echo 3 > dir1/a |
b5052fc73300
treemanifest: store submanifest revlog per directory
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff
changeset
|
246 $ echo 3 > dir1/dir1/a |
b5052fc73300
treemanifest: store submanifest revlog per directory
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff
changeset
|
247 $ hg ci -m 'first tree' |
b5052fc73300
treemanifest: store submanifest revlog per directory
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff
changeset
|
248 created new head |
b5052fc73300
treemanifest: store submanifest revlog per directory
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff
changeset
|
249 $ find .hg/store/meta | sort |
b5052fc73300
treemanifest: store submanifest revlog per directory
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff
changeset
|
250 .hg/store/meta |
b5052fc73300
treemanifest: store submanifest revlog per directory
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff
changeset
|
251 .hg/store/meta/dir1 |
b5052fc73300
treemanifest: store submanifest revlog per directory
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff
changeset
|
252 .hg/store/meta/dir1/00manifest.i |
b5052fc73300
treemanifest: store submanifest revlog per directory
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff
changeset
|
253 .hg/store/meta/dir1/dir1 |
b5052fc73300
treemanifest: store submanifest revlog per directory
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff
changeset
|
254 .hg/store/meta/dir1/dir1/00manifest.i |
b5052fc73300
treemanifest: store submanifest revlog per directory
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff
changeset
|
255 .hg/store/meta/dir1/dir2 |
b5052fc73300
treemanifest: store submanifest revlog per directory
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff
changeset
|
256 .hg/store/meta/dir1/dir2/00manifest.i |
b5052fc73300
treemanifest: store submanifest revlog per directory
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff
changeset
|
257 .hg/store/meta/dir2 |
b5052fc73300
treemanifest: store submanifest revlog per directory
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff
changeset
|
258 .hg/store/meta/dir2/00manifest.i |
b5052fc73300
treemanifest: store submanifest revlog per directory
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff
changeset
|
259 |
b5052fc73300
treemanifest: store submanifest revlog per directory
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff
changeset
|
260 Merge of two trees |
b5052fc73300
treemanifest: store submanifest revlog per directory
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff
changeset
|
261 |
b5052fc73300
treemanifest: store submanifest revlog per directory
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff
changeset
|
262 $ hg co 2 |
b5052fc73300
treemanifest: store submanifest revlog per directory
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff
changeset
|
263 6 files updated, 0 files merged, 0 files removed, 0 files unresolved |
b5052fc73300
treemanifest: store submanifest revlog per directory
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff
changeset
|
264 $ hg merge 1 |
b5052fc73300
treemanifest: store submanifest revlog per directory
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff
changeset
|
265 3 files updated, 0 files merged, 0 files removed, 0 files unresolved |
b5052fc73300
treemanifest: store submanifest revlog per directory
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff
changeset
|
266 (branch merge, don't forget to commit) |
b5052fc73300
treemanifest: store submanifest revlog per directory
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff
changeset
|
267 $ hg ci -m 'merge of flat manifests to new tree manifest' |
b5052fc73300
treemanifest: store submanifest revlog per directory
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff
changeset
|
268 created new head |
b5052fc73300
treemanifest: store submanifest revlog per directory
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff
changeset
|
269 $ hg diff -r 3 |
b5052fc73300
treemanifest: store submanifest revlog per directory
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff
changeset
|
270 |
b5052fc73300
treemanifest: store submanifest revlog per directory
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff
changeset
|
271 Parent of tree root manifest should be flat manifest, and two for merge |
b5052fc73300
treemanifest: store submanifest revlog per directory
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff
changeset
|
272 |
b5052fc73300
treemanifest: store submanifest revlog per directory
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff
changeset
|
273 $ hg debugindex -m |
26920
4d1a96bb831f
test: enable generaldelta early in 'test-treemanifest.t'
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
25398
diff
changeset
|
274 rev offset length delta linkrev nodeid p1 p2 |
4d1a96bb831f
test: enable generaldelta early in 'test-treemanifest.t'
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
25398
diff
changeset
|
275 0 0 80 -1 0 40536115ed9e 000000000000 000000000000 |
25091
b5052fc73300
treemanifest: store submanifest revlog per directory
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff
changeset
|
276 1 80 83 0 1 f3376063c255 40536115ed9e 000000000000 |
26920
4d1a96bb831f
test: enable generaldelta early in 'test-treemanifest.t'
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
25398
diff
changeset
|
277 2 163 89 0 2 5d9b9da231a2 40536115ed9e 000000000000 |
4d1a96bb831f
test: enable generaldelta early in 'test-treemanifest.t'
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
25398
diff
changeset
|
278 3 252 83 2 3 d17d663cbd8a 5d9b9da231a2 f3376063c255 |
27271
2a31433a59ba
manifest: use 't' for tree manifest flag
Martin von Zweigbergk <martinvonz@google.com>
parents:
27251
diff
changeset
|
279 4 335 124 1 4 51e32a8c60ee f3376063c255 000000000000 |
2a31433a59ba
manifest: use 't' for tree manifest flag
Martin von Zweigbergk <martinvonz@google.com>
parents:
27251
diff
changeset
|
280 5 459 126 2 5 cc5baa78b230 5d9b9da231a2 f3376063c255 |
25091
b5052fc73300
treemanifest: store submanifest revlog per directory
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff
changeset
|
281 |
b5052fc73300
treemanifest: store submanifest revlog per directory
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff
changeset
|
282 |
b5052fc73300
treemanifest: store submanifest revlog per directory
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff
changeset
|
283 Status across flat/tree boundary should work |
b5052fc73300
treemanifest: store submanifest revlog per directory
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff
changeset
|
284 |
b5052fc73300
treemanifest: store submanifest revlog per directory
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff
changeset
|
285 $ hg status --rev '.^' --rev . |
b5052fc73300
treemanifest: store submanifest revlog per directory
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff
changeset
|
286 M a |
b5052fc73300
treemanifest: store submanifest revlog per directory
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff
changeset
|
287 M dir1/a |
b5052fc73300
treemanifest: store submanifest revlog per directory
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff
changeset
|
288 M dir1/dir1/a |
b5052fc73300
treemanifest: store submanifest revlog per directory
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff
changeset
|
289 |
b5052fc73300
treemanifest: store submanifest revlog per directory
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff
changeset
|
290 |
b5052fc73300
treemanifest: store submanifest revlog per directory
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff
changeset
|
291 Turning off treemanifest config has no effect |
b5052fc73300
treemanifest: store submanifest revlog per directory
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff
changeset
|
292 |
27952
c5ffbd4c033b
tests: minor cleanup to treemanifest test
Martin von Zweigbergk <martinvonz@google.com>
parents:
27946
diff
changeset
|
293 $ hg debugindex --dir dir1 |
26920
4d1a96bb831f
test: enable generaldelta early in 'test-treemanifest.t'
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
25398
diff
changeset
|
294 rev offset length delta linkrev nodeid p1 p2 |
27271
2a31433a59ba
manifest: use 't' for tree manifest flag
Martin von Zweigbergk <martinvonz@google.com>
parents:
27251
diff
changeset
|
295 0 0 127 -1 4 064927a0648a 000000000000 000000000000 |
2a31433a59ba
manifest: use 't' for tree manifest flag
Martin von Zweigbergk <martinvonz@google.com>
parents:
27251
diff
changeset
|
296 1 127 111 0 5 25ecb8cb8618 000000000000 000000000000 |
25091
b5052fc73300
treemanifest: store submanifest revlog per directory
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff
changeset
|
297 $ echo 2 > dir1/a |
b5052fc73300
treemanifest: store submanifest revlog per directory
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff
changeset
|
298 $ hg --config experimental.treemanifest=False ci -qm 'modify dir1/a' |
27952
c5ffbd4c033b
tests: minor cleanup to treemanifest test
Martin von Zweigbergk <martinvonz@google.com>
parents:
27946
diff
changeset
|
299 $ hg debugindex --dir dir1 |
26920
4d1a96bb831f
test: enable generaldelta early in 'test-treemanifest.t'
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
25398
diff
changeset
|
300 rev offset length delta linkrev nodeid p1 p2 |
27271
2a31433a59ba
manifest: use 't' for tree manifest flag
Martin von Zweigbergk <martinvonz@google.com>
parents:
27251
diff
changeset
|
301 0 0 127 -1 4 064927a0648a 000000000000 000000000000 |
2a31433a59ba
manifest: use 't' for tree manifest flag
Martin von Zweigbergk <martinvonz@google.com>
parents:
27251
diff
changeset
|
302 1 127 111 0 5 25ecb8cb8618 000000000000 000000000000 |
2a31433a59ba
manifest: use 't' for tree manifest flag
Martin von Zweigbergk <martinvonz@google.com>
parents:
27251
diff
changeset
|
303 2 238 55 1 6 5b16163a30c6 25ecb8cb8618 000000000000 |
25231
8545bd381504
match: have visitdir() consider includes and excludes
Drew Gottlieb <drgott@google.com>
parents:
25222
diff
changeset
|
304 |
27930
7cbb3a01fa38
repair: use cg3 for treemanifests
Martin von Zweigbergk <martinvonz@google.com>
parents:
27752
diff
changeset
|
305 Stripping and recovering changes should work |
7cbb3a01fa38
repair: use cg3 for treemanifests
Martin von Zweigbergk <martinvonz@google.com>
parents:
27752
diff
changeset
|
306 |
7cbb3a01fa38
repair: use cg3 for treemanifests
Martin von Zweigbergk <martinvonz@google.com>
parents:
27752
diff
changeset
|
307 $ hg st --change tip |
7cbb3a01fa38
repair: use cg3 for treemanifests
Martin von Zweigbergk <martinvonz@google.com>
parents:
27752
diff
changeset
|
308 M dir1/a |
7cbb3a01fa38
repair: use cg3 for treemanifests
Martin von Zweigbergk <martinvonz@google.com>
parents:
27752
diff
changeset
|
309 $ hg --config extensions.strip= strip tip |
7cbb3a01fa38
repair: use cg3 for treemanifests
Martin von Zweigbergk <martinvonz@google.com>
parents:
27752
diff
changeset
|
310 1 files updated, 0 files merged, 0 files removed, 0 files unresolved |
7cbb3a01fa38
repair: use cg3 for treemanifests
Martin von Zweigbergk <martinvonz@google.com>
parents:
27752
diff
changeset
|
311 saved backup bundle to $TESTTMP/repo-mixed/.hg/strip-backup/51cfd7b1e13b-78a2f3ed-backup.hg (glob) |
7cbb3a01fa38
repair: use cg3 for treemanifests
Martin von Zweigbergk <martinvonz@google.com>
parents:
27752
diff
changeset
|
312 $ hg unbundle -q .hg/strip-backup/* |
7cbb3a01fa38
repair: use cg3 for treemanifests
Martin von Zweigbergk <martinvonz@google.com>
parents:
27752
diff
changeset
|
313 $ hg st --change tip |
7cbb3a01fa38
repair: use cg3 for treemanifests
Martin von Zweigbergk <martinvonz@google.com>
parents:
27752
diff
changeset
|
314 M dir1/a |
7cbb3a01fa38
repair: use cg3 for treemanifests
Martin von Zweigbergk <martinvonz@google.com>
parents:
27752
diff
changeset
|
315 |
27931
1289a122cf3f
shelve: use cg3 for treemanifests
Martin von Zweigbergk <martinvonz@google.com>
parents:
27930
diff
changeset
|
316 Shelving and unshelving should work |
1289a122cf3f
shelve: use cg3 for treemanifests
Martin von Zweigbergk <martinvonz@google.com>
parents:
27930
diff
changeset
|
317 |
1289a122cf3f
shelve: use cg3 for treemanifests
Martin von Zweigbergk <martinvonz@google.com>
parents:
27930
diff
changeset
|
318 $ echo foo >> dir1/a |
1289a122cf3f
shelve: use cg3 for treemanifests
Martin von Zweigbergk <martinvonz@google.com>
parents:
27930
diff
changeset
|
319 $ hg --config extensions.shelve= shelve |
1289a122cf3f
shelve: use cg3 for treemanifests
Martin von Zweigbergk <martinvonz@google.com>
parents:
27930
diff
changeset
|
320 shelved as default |
1289a122cf3f
shelve: use cg3 for treemanifests
Martin von Zweigbergk <martinvonz@google.com>
parents:
27930
diff
changeset
|
321 1 files updated, 0 files merged, 0 files removed, 0 files unresolved |
1289a122cf3f
shelve: use cg3 for treemanifests
Martin von Zweigbergk <martinvonz@google.com>
parents:
27930
diff
changeset
|
322 $ hg --config extensions.shelve= unshelve |
1289a122cf3f
shelve: use cg3 for treemanifests
Martin von Zweigbergk <martinvonz@google.com>
parents:
27930
diff
changeset
|
323 unshelving change 'default' |
1289a122cf3f
shelve: use cg3 for treemanifests
Martin von Zweigbergk <martinvonz@google.com>
parents:
27930
diff
changeset
|
324 $ hg diff --nodates |
1289a122cf3f
shelve: use cg3 for treemanifests
Martin von Zweigbergk <martinvonz@google.com>
parents:
27930
diff
changeset
|
325 diff -r 708a273da119 dir1/a |
1289a122cf3f
shelve: use cg3 for treemanifests
Martin von Zweigbergk <martinvonz@google.com>
parents:
27930
diff
changeset
|
326 --- a/dir1/a |
1289a122cf3f
shelve: use cg3 for treemanifests
Martin von Zweigbergk <martinvonz@google.com>
parents:
27930
diff
changeset
|
327 +++ b/dir1/a |
1289a122cf3f
shelve: use cg3 for treemanifests
Martin von Zweigbergk <martinvonz@google.com>
parents:
27930
diff
changeset
|
328 @@ -1,1 +1,2 @@ |
1289a122cf3f
shelve: use cg3 for treemanifests
Martin von Zweigbergk <martinvonz@google.com>
parents:
27930
diff
changeset
|
329 1 |
1289a122cf3f
shelve: use cg3 for treemanifests
Martin von Zweigbergk <martinvonz@google.com>
parents:
27930
diff
changeset
|
330 +foo |
1289a122cf3f
shelve: use cg3 for treemanifests
Martin von Zweigbergk <martinvonz@google.com>
parents:
27930
diff
changeset
|
331 |
27938
cabac7dfc621
exchange: set 'treemanifest' param on pushed changegroups too
Martin von Zweigbergk <martinvonz@google.com>
parents:
27931
diff
changeset
|
332 Pushing from treemanifest repo to an empty repo makes that a treemanifest repo |
cabac7dfc621
exchange: set 'treemanifest' param on pushed changegroups too
Martin von Zweigbergk <martinvonz@google.com>
parents:
27931
diff
changeset
|
333 |
cabac7dfc621
exchange: set 'treemanifest' param on pushed changegroups too
Martin von Zweigbergk <martinvonz@google.com>
parents:
27931
diff
changeset
|
334 $ cd .. |
cabac7dfc621
exchange: set 'treemanifest' param on pushed changegroups too
Martin von Zweigbergk <martinvonz@google.com>
parents:
27931
diff
changeset
|
335 $ hg init empty-repo |
cabac7dfc621
exchange: set 'treemanifest' param on pushed changegroups too
Martin von Zweigbergk <martinvonz@google.com>
parents:
27931
diff
changeset
|
336 $ cat << EOF >> empty-repo/.hg/hgrc |
cabac7dfc621
exchange: set 'treemanifest' param on pushed changegroups too
Martin von Zweigbergk <martinvonz@google.com>
parents:
27931
diff
changeset
|
337 > [experimental] |
cabac7dfc621
exchange: set 'treemanifest' param on pushed changegroups too
Martin von Zweigbergk <martinvonz@google.com>
parents:
27931
diff
changeset
|
338 > changegroup3=yes |
cabac7dfc621
exchange: set 'treemanifest' param on pushed changegroups too
Martin von Zweigbergk <martinvonz@google.com>
parents:
27931
diff
changeset
|
339 > EOF |
cabac7dfc621
exchange: set 'treemanifest' param on pushed changegroups too
Martin von Zweigbergk <martinvonz@google.com>
parents:
27931
diff
changeset
|
340 $ grep treemanifest empty-repo/.hg/requires |
cabac7dfc621
exchange: set 'treemanifest' param on pushed changegroups too
Martin von Zweigbergk <martinvonz@google.com>
parents:
27931
diff
changeset
|
341 [1] |
cabac7dfc621
exchange: set 'treemanifest' param on pushed changegroups too
Martin von Zweigbergk <martinvonz@google.com>
parents:
27931
diff
changeset
|
342 $ hg push -R repo -r 0 empty-repo |
cabac7dfc621
exchange: set 'treemanifest' param on pushed changegroups too
Martin von Zweigbergk <martinvonz@google.com>
parents:
27931
diff
changeset
|
343 pushing to empty-repo |
cabac7dfc621
exchange: set 'treemanifest' param on pushed changegroups too
Martin von Zweigbergk <martinvonz@google.com>
parents:
27931
diff
changeset
|
344 searching for changes |
cabac7dfc621
exchange: set 'treemanifest' param on pushed changegroups too
Martin von Zweigbergk <martinvonz@google.com>
parents:
27931
diff
changeset
|
345 adding changesets |
cabac7dfc621
exchange: set 'treemanifest' param on pushed changegroups too
Martin von Zweigbergk <martinvonz@google.com>
parents:
27931
diff
changeset
|
346 adding manifests |
cabac7dfc621
exchange: set 'treemanifest' param on pushed changegroups too
Martin von Zweigbergk <martinvonz@google.com>
parents:
27931
diff
changeset
|
347 adding file changes |
cabac7dfc621
exchange: set 'treemanifest' param on pushed changegroups too
Martin von Zweigbergk <martinvonz@google.com>
parents:
27931
diff
changeset
|
348 added 1 changesets with 2 changes to 2 files |
cabac7dfc621
exchange: set 'treemanifest' param on pushed changegroups too
Martin von Zweigbergk <martinvonz@google.com>
parents:
27931
diff
changeset
|
349 $ grep treemanifest empty-repo/.hg/requires |
cabac7dfc621
exchange: set 'treemanifest' param on pushed changegroups too
Martin von Zweigbergk <martinvonz@google.com>
parents:
27931
diff
changeset
|
350 treemanifest |
cabac7dfc621
exchange: set 'treemanifest' param on pushed changegroups too
Martin von Zweigbergk <martinvonz@google.com>
parents:
27931
diff
changeset
|
351 |
27946
ca8d2b73155d
changegroup: fix treemanifest exchange code (issue5061)
Augie Fackler <augie@google.com>
parents:
27938
diff
changeset
|
352 Pushing to an empty repo works |
ca8d2b73155d
changegroup: fix treemanifest exchange code (issue5061)
Augie Fackler <augie@google.com>
parents:
27938
diff
changeset
|
353 |
ca8d2b73155d
changegroup: fix treemanifest exchange code (issue5061)
Augie Fackler <augie@google.com>
parents:
27938
diff
changeset
|
354 $ hg --config experimental.treemanifest=1 init clone |
ca8d2b73155d
changegroup: fix treemanifest exchange code (issue5061)
Augie Fackler <augie@google.com>
parents:
27938
diff
changeset
|
355 $ grep treemanifest clone/.hg/requires |
ca8d2b73155d
changegroup: fix treemanifest exchange code (issue5061)
Augie Fackler <augie@google.com>
parents:
27938
diff
changeset
|
356 treemanifest |
ca8d2b73155d
changegroup: fix treemanifest exchange code (issue5061)
Augie Fackler <augie@google.com>
parents:
27938
diff
changeset
|
357 $ hg push -R repo clone |
ca8d2b73155d
changegroup: fix treemanifest exchange code (issue5061)
Augie Fackler <augie@google.com>
parents:
27938
diff
changeset
|
358 pushing to clone |
ca8d2b73155d
changegroup: fix treemanifest exchange code (issue5061)
Augie Fackler <augie@google.com>
parents:
27938
diff
changeset
|
359 searching for changes |
ca8d2b73155d
changegroup: fix treemanifest exchange code (issue5061)
Augie Fackler <augie@google.com>
parents:
27938
diff
changeset
|
360 adding changesets |
ca8d2b73155d
changegroup: fix treemanifest exchange code (issue5061)
Augie Fackler <augie@google.com>
parents:
27938
diff
changeset
|
361 adding manifests |
ca8d2b73155d
changegroup: fix treemanifest exchange code (issue5061)
Augie Fackler <augie@google.com>
parents:
27938
diff
changeset
|
362 adding file changes |
ca8d2b73155d
changegroup: fix treemanifest exchange code (issue5061)
Augie Fackler <augie@google.com>
parents:
27938
diff
changeset
|
363 added 11 changesets with 15 changes to 10 files (+3 heads) |
ca8d2b73155d
changegroup: fix treemanifest exchange code (issue5061)
Augie Fackler <augie@google.com>
parents:
27938
diff
changeset
|
364 $ grep treemanifest clone/.hg/requires |
ca8d2b73155d
changegroup: fix treemanifest exchange code (issue5061)
Augie Fackler <augie@google.com>
parents:
27938
diff
changeset
|
365 treemanifest |
28240
1ac8ce137377
changegroup: fix treemanifests on merges
Martin von Zweigbergk <martinvonz@google.com>
parents:
28214
diff
changeset
|
366 $ hg -R clone verify |
1ac8ce137377
changegroup: fix treemanifests on merges
Martin von Zweigbergk <martinvonz@google.com>
parents:
28214
diff
changeset
|
367 checking changesets |
1ac8ce137377
changegroup: fix treemanifests on merges
Martin von Zweigbergk <martinvonz@google.com>
parents:
28214
diff
changeset
|
368 checking manifests |
1ac8ce137377
changegroup: fix treemanifests on merges
Martin von Zweigbergk <martinvonz@google.com>
parents:
28214
diff
changeset
|
369 checking directory manifests |
1ac8ce137377
changegroup: fix treemanifests on merges
Martin von Zweigbergk <martinvonz@google.com>
parents:
28214
diff
changeset
|
370 crosschecking files in changesets and manifests |
1ac8ce137377
changegroup: fix treemanifests on merges
Martin von Zweigbergk <martinvonz@google.com>
parents:
28214
diff
changeset
|
371 checking files |
1ac8ce137377
changegroup: fix treemanifests on merges
Martin von Zweigbergk <martinvonz@google.com>
parents:
28214
diff
changeset
|
372 10 files, 11 changesets, 15 total revisions |
27946
ca8d2b73155d
changegroup: fix treemanifest exchange code (issue5061)
Augie Fackler <augie@google.com>
parents:
27938
diff
changeset
|
373 |
25231
8545bd381504
match: have visitdir() consider includes and excludes
Drew Gottlieb <drgott@google.com>
parents:
25222
diff
changeset
|
374 Create deeper repo with tree manifests. |
8545bd381504
match: have visitdir() consider includes and excludes
Drew Gottlieb <drgott@google.com>
parents:
25222
diff
changeset
|
375 |
8545bd381504
match: have visitdir() consider includes and excludes
Drew Gottlieb <drgott@google.com>
parents:
25222
diff
changeset
|
376 $ hg --config experimental.treemanifest=True init deeprepo |
8545bd381504
match: have visitdir() consider includes and excludes
Drew Gottlieb <drgott@google.com>
parents:
25222
diff
changeset
|
377 $ cd deeprepo |
8545bd381504
match: have visitdir() consider includes and excludes
Drew Gottlieb <drgott@google.com>
parents:
25222
diff
changeset
|
378 |
28007
fb92927f9775
treemanifests: fix streaming clone
Martin von Zweigbergk <martinvonz@google.com>
parents:
28006
diff
changeset
|
379 $ mkdir .A |
25231
8545bd381504
match: have visitdir() consider includes and excludes
Drew Gottlieb <drgott@google.com>
parents:
25222
diff
changeset
|
380 $ mkdir b |
8545bd381504
match: have visitdir() consider includes and excludes
Drew Gottlieb <drgott@google.com>
parents:
25222
diff
changeset
|
381 $ mkdir b/bar |
8545bd381504
match: have visitdir() consider includes and excludes
Drew Gottlieb <drgott@google.com>
parents:
25222
diff
changeset
|
382 $ mkdir b/bar/orange |
8545bd381504
match: have visitdir() consider includes and excludes
Drew Gottlieb <drgott@google.com>
parents:
25222
diff
changeset
|
383 $ mkdir b/bar/orange/fly |
8545bd381504
match: have visitdir() consider includes and excludes
Drew Gottlieb <drgott@google.com>
parents:
25222
diff
changeset
|
384 $ mkdir b/foo |
8545bd381504
match: have visitdir() consider includes and excludes
Drew Gottlieb <drgott@google.com>
parents:
25222
diff
changeset
|
385 $ mkdir b/foo/apple |
8545bd381504
match: have visitdir() consider includes and excludes
Drew Gottlieb <drgott@google.com>
parents:
25222
diff
changeset
|
386 $ mkdir b/foo/apple/bees |
8545bd381504
match: have visitdir() consider includes and excludes
Drew Gottlieb <drgott@google.com>
parents:
25222
diff
changeset
|
387 |
28007
fb92927f9775
treemanifests: fix streaming clone
Martin von Zweigbergk <martinvonz@google.com>
parents:
28006
diff
changeset
|
388 $ touch .A/one.txt |
fb92927f9775
treemanifests: fix streaming clone
Martin von Zweigbergk <martinvonz@google.com>
parents:
28006
diff
changeset
|
389 $ touch .A/two.txt |
25231
8545bd381504
match: have visitdir() consider includes and excludes
Drew Gottlieb <drgott@google.com>
parents:
25222
diff
changeset
|
390 $ touch b/bar/fruits.txt |
8545bd381504
match: have visitdir() consider includes and excludes
Drew Gottlieb <drgott@google.com>
parents:
25222
diff
changeset
|
391 $ touch b/bar/orange/fly/gnat.py |
8545bd381504
match: have visitdir() consider includes and excludes
Drew Gottlieb <drgott@google.com>
parents:
25222
diff
changeset
|
392 $ touch b/bar/orange/fly/housefly.txt |
8545bd381504
match: have visitdir() consider includes and excludes
Drew Gottlieb <drgott@google.com>
parents:
25222
diff
changeset
|
393 $ touch b/foo/apple/bees/flower.py |
8545bd381504
match: have visitdir() consider includes and excludes
Drew Gottlieb <drgott@google.com>
parents:
25222
diff
changeset
|
394 $ touch c.txt |
8545bd381504
match: have visitdir() consider includes and excludes
Drew Gottlieb <drgott@google.com>
parents:
25222
diff
changeset
|
395 $ touch d.py |
8545bd381504
match: have visitdir() consider includes and excludes
Drew Gottlieb <drgott@google.com>
parents:
25222
diff
changeset
|
396 |
8545bd381504
match: have visitdir() consider includes and excludes
Drew Gottlieb <drgott@google.com>
parents:
25222
diff
changeset
|
397 $ hg ci -Aqm 'initial' |
8545bd381504
match: have visitdir() consider includes and excludes
Drew Gottlieb <drgott@google.com>
parents:
25222
diff
changeset
|
398 |
8545bd381504
match: have visitdir() consider includes and excludes
Drew Gottlieb <drgott@google.com>
parents:
25222
diff
changeset
|
399 We'll see that visitdir works by removing some treemanifest revlogs and running |
8545bd381504
match: have visitdir() consider includes and excludes
Drew Gottlieb <drgott@google.com>
parents:
25222
diff
changeset
|
400 the files command with various parameters. |
8545bd381504
match: have visitdir() consider includes and excludes
Drew Gottlieb <drgott@google.com>
parents:
25222
diff
changeset
|
401 |
8545bd381504
match: have visitdir() consider includes and excludes
Drew Gottlieb <drgott@google.com>
parents:
25222
diff
changeset
|
402 Test files from the root. |
8545bd381504
match: have visitdir() consider includes and excludes
Drew Gottlieb <drgott@google.com>
parents:
25222
diff
changeset
|
403 |
8545bd381504
match: have visitdir() consider includes and excludes
Drew Gottlieb <drgott@google.com>
parents:
25222
diff
changeset
|
404 $ hg files -r . |
28007
fb92927f9775
treemanifests: fix streaming clone
Martin von Zweigbergk <martinvonz@google.com>
parents:
28006
diff
changeset
|
405 .A/one.txt (glob) |
fb92927f9775
treemanifests: fix streaming clone
Martin von Zweigbergk <martinvonz@google.com>
parents:
28006
diff
changeset
|
406 .A/two.txt (glob) |
25299
4f07fb1d7fbb
test-treemanifest: add globs for Windows
Matt Harbison <matt_harbison@yahoo.com>
parents:
25231
diff
changeset
|
407 b/bar/fruits.txt (glob) |
4f07fb1d7fbb
test-treemanifest: add globs for Windows
Matt Harbison <matt_harbison@yahoo.com>
parents:
25231
diff
changeset
|
408 b/bar/orange/fly/gnat.py (glob) |
4f07fb1d7fbb
test-treemanifest: add globs for Windows
Matt Harbison <matt_harbison@yahoo.com>
parents:
25231
diff
changeset
|
409 b/bar/orange/fly/housefly.txt (glob) |
4f07fb1d7fbb
test-treemanifest: add globs for Windows
Matt Harbison <matt_harbison@yahoo.com>
parents:
25231
diff
changeset
|
410 b/foo/apple/bees/flower.py (glob) |
25231
8545bd381504
match: have visitdir() consider includes and excludes
Drew Gottlieb <drgott@google.com>
parents:
25222
diff
changeset
|
411 c.txt |
8545bd381504
match: have visitdir() consider includes and excludes
Drew Gottlieb <drgott@google.com>
parents:
25222
diff
changeset
|
412 d.py |
8545bd381504
match: have visitdir() consider includes and excludes
Drew Gottlieb <drgott@google.com>
parents:
25222
diff
changeset
|
413 |
25362
20ad936ac5d2
treemanifest: visit directory 'foo' when given e.g. '-X foo/ba?'
Martin von Zweigbergk <martinvonz@google.com>
parents:
25299
diff
changeset
|
414 Excludes with a glob should not exclude everything from the glob's root |
20ad936ac5d2
treemanifest: visit directory 'foo' when given e.g. '-X foo/ba?'
Martin von Zweigbergk <martinvonz@google.com>
parents:
25299
diff
changeset
|
415 |
20ad936ac5d2
treemanifest: visit directory 'foo' when given e.g. '-X foo/ba?'
Martin von Zweigbergk <martinvonz@google.com>
parents:
25299
diff
changeset
|
416 $ hg files -r . -X 'b/fo?' b |
25398
633d07045494
test-treemanifest: add globs for Windows
Matt Harbison <matt_harbison@yahoo.com>
parents:
25362
diff
changeset
|
417 b/bar/fruits.txt (glob) |
633d07045494
test-treemanifest: add globs for Windows
Matt Harbison <matt_harbison@yahoo.com>
parents:
25362
diff
changeset
|
418 b/bar/orange/fly/gnat.py (glob) |
633d07045494
test-treemanifest: add globs for Windows
Matt Harbison <matt_harbison@yahoo.com>
parents:
25362
diff
changeset
|
419 b/bar/orange/fly/housefly.txt (glob) |
28005
ed94b24a3bb2
tests: simplify treemanifest test by backing up entire .hg/store
Martin von Zweigbergk <martinvonz@google.com>
parents:
27953
diff
changeset
|
420 $ cp -r .hg/store .hg/store-copy |
25362
20ad936ac5d2
treemanifest: visit directory 'foo' when given e.g. '-X foo/ba?'
Martin von Zweigbergk <martinvonz@google.com>
parents:
25299
diff
changeset
|
421 |
25231
8545bd381504
match: have visitdir() consider includes and excludes
Drew Gottlieb <drgott@google.com>
parents:
25222
diff
changeset
|
422 Test files for a subdirectory. |
8545bd381504
match: have visitdir() consider includes and excludes
Drew Gottlieb <drgott@google.com>
parents:
25222
diff
changeset
|
423 |
28007
fb92927f9775
treemanifests: fix streaming clone
Martin von Zweigbergk <martinvonz@google.com>
parents:
28006
diff
changeset
|
424 $ rm -r .hg/store/meta/~2e_a |
25231
8545bd381504
match: have visitdir() consider includes and excludes
Drew Gottlieb <drgott@google.com>
parents:
25222
diff
changeset
|
425 $ hg files -r . b |
25299
4f07fb1d7fbb
test-treemanifest: add globs for Windows
Matt Harbison <matt_harbison@yahoo.com>
parents:
25231
diff
changeset
|
426 b/bar/fruits.txt (glob) |
4f07fb1d7fbb
test-treemanifest: add globs for Windows
Matt Harbison <matt_harbison@yahoo.com>
parents:
25231
diff
changeset
|
427 b/bar/orange/fly/gnat.py (glob) |
4f07fb1d7fbb
test-treemanifest: add globs for Windows
Matt Harbison <matt_harbison@yahoo.com>
parents:
25231
diff
changeset
|
428 b/bar/orange/fly/housefly.txt (glob) |
4f07fb1d7fbb
test-treemanifest: add globs for Windows
Matt Harbison <matt_harbison@yahoo.com>
parents:
25231
diff
changeset
|
429 b/foo/apple/bees/flower.py (glob) |
28214
408446e4b10c
treemanifest: use "cp xyz/." instead of "cp xyz/*"
Tony Tung <tonytung@merly.org>
parents:
28204
diff
changeset
|
430 $ cp -r .hg/store-copy/. .hg/store |
25231
8545bd381504
match: have visitdir() consider includes and excludes
Drew Gottlieb <drgott@google.com>
parents:
25222
diff
changeset
|
431 |
8545bd381504
match: have visitdir() consider includes and excludes
Drew Gottlieb <drgott@google.com>
parents:
25222
diff
changeset
|
432 Test files with just includes and excludes. |
8545bd381504
match: have visitdir() consider includes and excludes
Drew Gottlieb <drgott@google.com>
parents:
25222
diff
changeset
|
433 |
28007
fb92927f9775
treemanifests: fix streaming clone
Martin von Zweigbergk <martinvonz@google.com>
parents:
28006
diff
changeset
|
434 $ rm -r .hg/store/meta/~2e_a |
28005
ed94b24a3bb2
tests: simplify treemanifest test by backing up entire .hg/store
Martin von Zweigbergk <martinvonz@google.com>
parents:
27953
diff
changeset
|
435 $ rm -r .hg/store/meta/b/bar/orange/fly |
ed94b24a3bb2
tests: simplify treemanifest test by backing up entire .hg/store
Martin von Zweigbergk <martinvonz@google.com>
parents:
27953
diff
changeset
|
436 $ rm -r .hg/store/meta/b/foo/apple/bees |
25362
20ad936ac5d2
treemanifest: visit directory 'foo' when given e.g. '-X foo/ba?'
Martin von Zweigbergk <martinvonz@google.com>
parents:
25299
diff
changeset
|
437 $ hg files -r . -I path:b/bar -X path:b/bar/orange/fly -I path:b/foo -X path:b/foo/apple/bees |
25299
4f07fb1d7fbb
test-treemanifest: add globs for Windows
Matt Harbison <matt_harbison@yahoo.com>
parents:
25231
diff
changeset
|
438 b/bar/fruits.txt (glob) |
28214
408446e4b10c
treemanifest: use "cp xyz/." instead of "cp xyz/*"
Tony Tung <tonytung@merly.org>
parents:
28204
diff
changeset
|
439 $ cp -r .hg/store-copy/. .hg/store |
25231
8545bd381504
match: have visitdir() consider includes and excludes
Drew Gottlieb <drgott@google.com>
parents:
25222
diff
changeset
|
440 |
8545bd381504
match: have visitdir() consider includes and excludes
Drew Gottlieb <drgott@google.com>
parents:
25222
diff
changeset
|
441 Test files for a subdirectory, excluding a directory within it. |
8545bd381504
match: have visitdir() consider includes and excludes
Drew Gottlieb <drgott@google.com>
parents:
25222
diff
changeset
|
442 |
28007
fb92927f9775
treemanifests: fix streaming clone
Martin von Zweigbergk <martinvonz@google.com>
parents:
28006
diff
changeset
|
443 $ rm -r .hg/store/meta/~2e_a |
28005
ed94b24a3bb2
tests: simplify treemanifest test by backing up entire .hg/store
Martin von Zweigbergk <martinvonz@google.com>
parents:
27953
diff
changeset
|
444 $ rm -r .hg/store/meta/b/foo |
25362
20ad936ac5d2
treemanifest: visit directory 'foo' when given e.g. '-X foo/ba?'
Martin von Zweigbergk <martinvonz@google.com>
parents:
25299
diff
changeset
|
445 $ hg files -r . -X path:b/foo b |
25299
4f07fb1d7fbb
test-treemanifest: add globs for Windows
Matt Harbison <matt_harbison@yahoo.com>
parents:
25231
diff
changeset
|
446 b/bar/fruits.txt (glob) |
4f07fb1d7fbb
test-treemanifest: add globs for Windows
Matt Harbison <matt_harbison@yahoo.com>
parents:
25231
diff
changeset
|
447 b/bar/orange/fly/gnat.py (glob) |
4f07fb1d7fbb
test-treemanifest: add globs for Windows
Matt Harbison <matt_harbison@yahoo.com>
parents:
25231
diff
changeset
|
448 b/bar/orange/fly/housefly.txt (glob) |
28214
408446e4b10c
treemanifest: use "cp xyz/." instead of "cp xyz/*"
Tony Tung <tonytung@merly.org>
parents:
28204
diff
changeset
|
449 $ cp -r .hg/store-copy/. .hg/store |
25231
8545bd381504
match: have visitdir() consider includes and excludes
Drew Gottlieb <drgott@google.com>
parents:
25222
diff
changeset
|
450 |
8545bd381504
match: have visitdir() consider includes and excludes
Drew Gottlieb <drgott@google.com>
parents:
25222
diff
changeset
|
451 Test files for a sub directory, including only a directory within it, and |
8545bd381504
match: have visitdir() consider includes and excludes
Drew Gottlieb <drgott@google.com>
parents:
25222
diff
changeset
|
452 including an unrelated directory. |
8545bd381504
match: have visitdir() consider includes and excludes
Drew Gottlieb <drgott@google.com>
parents:
25222
diff
changeset
|
453 |
28007
fb92927f9775
treemanifests: fix streaming clone
Martin von Zweigbergk <martinvonz@google.com>
parents:
28006
diff
changeset
|
454 $ rm -r .hg/store/meta/~2e_a |
28005
ed94b24a3bb2
tests: simplify treemanifest test by backing up entire .hg/store
Martin von Zweigbergk <martinvonz@google.com>
parents:
27953
diff
changeset
|
455 $ rm -r .hg/store/meta/b/foo |
25362
20ad936ac5d2
treemanifest: visit directory 'foo' when given e.g. '-X foo/ba?'
Martin von Zweigbergk <martinvonz@google.com>
parents:
25299
diff
changeset
|
456 $ hg files -r . -I path:b/bar/orange -I path:a b |
25299
4f07fb1d7fbb
test-treemanifest: add globs for Windows
Matt Harbison <matt_harbison@yahoo.com>
parents:
25231
diff
changeset
|
457 b/bar/orange/fly/gnat.py (glob) |
4f07fb1d7fbb
test-treemanifest: add globs for Windows
Matt Harbison <matt_harbison@yahoo.com>
parents:
25231
diff
changeset
|
458 b/bar/orange/fly/housefly.txt (glob) |
28214
408446e4b10c
treemanifest: use "cp xyz/." instead of "cp xyz/*"
Tony Tung <tonytung@merly.org>
parents:
28204
diff
changeset
|
459 $ cp -r .hg/store-copy/. .hg/store |
25231
8545bd381504
match: have visitdir() consider includes and excludes
Drew Gottlieb <drgott@google.com>
parents:
25222
diff
changeset
|
460 |
8545bd381504
match: have visitdir() consider includes and excludes
Drew Gottlieb <drgott@google.com>
parents:
25222
diff
changeset
|
461 Test files for a pattern, including a directory, and excluding a directory |
8545bd381504
match: have visitdir() consider includes and excludes
Drew Gottlieb <drgott@google.com>
parents:
25222
diff
changeset
|
462 within that. |
8545bd381504
match: have visitdir() consider includes and excludes
Drew Gottlieb <drgott@google.com>
parents:
25222
diff
changeset
|
463 |
28007
fb92927f9775
treemanifests: fix streaming clone
Martin von Zweigbergk <martinvonz@google.com>
parents:
28006
diff
changeset
|
464 $ rm -r .hg/store/meta/~2e_a |
28005
ed94b24a3bb2
tests: simplify treemanifest test by backing up entire .hg/store
Martin von Zweigbergk <martinvonz@google.com>
parents:
27953
diff
changeset
|
465 $ rm -r .hg/store/meta/b/foo |
ed94b24a3bb2
tests: simplify treemanifest test by backing up entire .hg/store
Martin von Zweigbergk <martinvonz@google.com>
parents:
27953
diff
changeset
|
466 $ rm -r .hg/store/meta/b/bar/orange |
25362
20ad936ac5d2
treemanifest: visit directory 'foo' when given e.g. '-X foo/ba?'
Martin von Zweigbergk <martinvonz@google.com>
parents:
25299
diff
changeset
|
467 $ hg files -r . glob:**.txt -I path:b/bar -X path:b/bar/orange |
25299
4f07fb1d7fbb
test-treemanifest: add globs for Windows
Matt Harbison <matt_harbison@yahoo.com>
parents:
25231
diff
changeset
|
468 b/bar/fruits.txt (glob) |
28214
408446e4b10c
treemanifest: use "cp xyz/." instead of "cp xyz/*"
Tony Tung <tonytung@merly.org>
parents:
28204
diff
changeset
|
469 $ cp -r .hg/store-copy/. .hg/store |
25231
8545bd381504
match: have visitdir() consider includes and excludes
Drew Gottlieb <drgott@google.com>
parents:
25222
diff
changeset
|
470 |
27432
77d25b913f80
changegroup: introduce cg3, which has support for exchanging treemanifests
Augie Fackler <augie@google.com>
parents:
27271
diff
changeset
|
471 Add some more changes to the deep repo |
77d25b913f80
changegroup: introduce cg3, which has support for exchanging treemanifests
Augie Fackler <augie@google.com>
parents:
27271
diff
changeset
|
472 $ echo narf >> b/bar/fruits.txt |
77d25b913f80
changegroup: introduce cg3, which has support for exchanging treemanifests
Augie Fackler <augie@google.com>
parents:
27271
diff
changeset
|
473 $ hg ci -m narf |
77d25b913f80
changegroup: introduce cg3, which has support for exchanging treemanifests
Augie Fackler <augie@google.com>
parents:
27271
diff
changeset
|
474 $ echo troz >> b/bar/orange/fly/gnat.py |
77d25b913f80
changegroup: introduce cg3, which has support for exchanging treemanifests
Augie Fackler <augie@google.com>
parents:
27271
diff
changeset
|
475 $ hg ci -m troz |
77d25b913f80
changegroup: introduce cg3, which has support for exchanging treemanifests
Augie Fackler <augie@google.com>
parents:
27271
diff
changeset
|
476 |
28031
6f248ba85309
treemanifest: fix debugrebuildfncache
Martin von Zweigbergk <martinvonz@google.com>
parents:
28007
diff
changeset
|
477 Verify works |
6f248ba85309
treemanifest: fix debugrebuildfncache
Martin von Zweigbergk <martinvonz@google.com>
parents:
28007
diff
changeset
|
478 $ hg verify |
6f248ba85309
treemanifest: fix debugrebuildfncache
Martin von Zweigbergk <martinvonz@google.com>
parents:
28007
diff
changeset
|
479 checking changesets |
6f248ba85309
treemanifest: fix debugrebuildfncache
Martin von Zweigbergk <martinvonz@google.com>
parents:
28007
diff
changeset
|
480 checking manifests |
28203
7297e9e13a8a
verify: check directory manifests
Martin von Zweigbergk <martinvonz@google.com>
parents:
28168
diff
changeset
|
481 checking directory manifests |
28031
6f248ba85309
treemanifest: fix debugrebuildfncache
Martin von Zweigbergk <martinvonz@google.com>
parents:
28007
diff
changeset
|
482 crosschecking files in changesets and manifests |
6f248ba85309
treemanifest: fix debugrebuildfncache
Martin von Zweigbergk <martinvonz@google.com>
parents:
28007
diff
changeset
|
483 checking files |
6f248ba85309
treemanifest: fix debugrebuildfncache
Martin von Zweigbergk <martinvonz@google.com>
parents:
28007
diff
changeset
|
484 8 files, 3 changesets, 10 total revisions |
6f248ba85309
treemanifest: fix debugrebuildfncache
Martin von Zweigbergk <martinvonz@google.com>
parents:
28007
diff
changeset
|
485 |
6f248ba85309
treemanifest: fix debugrebuildfncache
Martin von Zweigbergk <martinvonz@google.com>
parents:
28007
diff
changeset
|
486 Dirlogs are included in fncache |
6f248ba85309
treemanifest: fix debugrebuildfncache
Martin von Zweigbergk <martinvonz@google.com>
parents:
28007
diff
changeset
|
487 $ grep meta/.A/00manifest.i .hg/store/fncache |
6f248ba85309
treemanifest: fix debugrebuildfncache
Martin von Zweigbergk <martinvonz@google.com>
parents:
28007
diff
changeset
|
488 meta/.A/00manifest.i |
6f248ba85309
treemanifest: fix debugrebuildfncache
Martin von Zweigbergk <martinvonz@google.com>
parents:
28007
diff
changeset
|
489 |
6f248ba85309
treemanifest: fix debugrebuildfncache
Martin von Zweigbergk <martinvonz@google.com>
parents:
28007
diff
changeset
|
490 Rebuilt fncache includes dirlogs |
6f248ba85309
treemanifest: fix debugrebuildfncache
Martin von Zweigbergk <martinvonz@google.com>
parents:
28007
diff
changeset
|
491 $ rm .hg/store/fncache |
6f248ba85309
treemanifest: fix debugrebuildfncache
Martin von Zweigbergk <martinvonz@google.com>
parents:
28007
diff
changeset
|
492 $ hg debugrebuildfncache |
6f248ba85309
treemanifest: fix debugrebuildfncache
Martin von Zweigbergk <martinvonz@google.com>
parents:
28007
diff
changeset
|
493 adding data/.A/one.txt.i |
6f248ba85309
treemanifest: fix debugrebuildfncache
Martin von Zweigbergk <martinvonz@google.com>
parents:
28007
diff
changeset
|
494 adding data/.A/two.txt.i |
6f248ba85309
treemanifest: fix debugrebuildfncache
Martin von Zweigbergk <martinvonz@google.com>
parents:
28007
diff
changeset
|
495 adding data/b/bar/fruits.txt.i |
6f248ba85309
treemanifest: fix debugrebuildfncache
Martin von Zweigbergk <martinvonz@google.com>
parents:
28007
diff
changeset
|
496 adding data/b/bar/orange/fly/gnat.py.i |
6f248ba85309
treemanifest: fix debugrebuildfncache
Martin von Zweigbergk <martinvonz@google.com>
parents:
28007
diff
changeset
|
497 adding data/b/bar/orange/fly/housefly.txt.i |
6f248ba85309
treemanifest: fix debugrebuildfncache
Martin von Zweigbergk <martinvonz@google.com>
parents:
28007
diff
changeset
|
498 adding data/b/foo/apple/bees/flower.py.i |
6f248ba85309
treemanifest: fix debugrebuildfncache
Martin von Zweigbergk <martinvonz@google.com>
parents:
28007
diff
changeset
|
499 adding data/c.txt.i |
6f248ba85309
treemanifest: fix debugrebuildfncache
Martin von Zweigbergk <martinvonz@google.com>
parents:
28007
diff
changeset
|
500 adding data/d.py.i |
6f248ba85309
treemanifest: fix debugrebuildfncache
Martin von Zweigbergk <martinvonz@google.com>
parents:
28007
diff
changeset
|
501 adding meta/.A/00manifest.i |
6f248ba85309
treemanifest: fix debugrebuildfncache
Martin von Zweigbergk <martinvonz@google.com>
parents:
28007
diff
changeset
|
502 adding meta/b/00manifest.i |
6f248ba85309
treemanifest: fix debugrebuildfncache
Martin von Zweigbergk <martinvonz@google.com>
parents:
28007
diff
changeset
|
503 adding meta/b/bar/00manifest.i |
6f248ba85309
treemanifest: fix debugrebuildfncache
Martin von Zweigbergk <martinvonz@google.com>
parents:
28007
diff
changeset
|
504 adding meta/b/bar/orange/00manifest.i |
6f248ba85309
treemanifest: fix debugrebuildfncache
Martin von Zweigbergk <martinvonz@google.com>
parents:
28007
diff
changeset
|
505 adding meta/b/bar/orange/fly/00manifest.i |
6f248ba85309
treemanifest: fix debugrebuildfncache
Martin von Zweigbergk <martinvonz@google.com>
parents:
28007
diff
changeset
|
506 adding meta/b/foo/00manifest.i |
6f248ba85309
treemanifest: fix debugrebuildfncache
Martin von Zweigbergk <martinvonz@google.com>
parents:
28007
diff
changeset
|
507 adding meta/b/foo/apple/00manifest.i |
6f248ba85309
treemanifest: fix debugrebuildfncache
Martin von Zweigbergk <martinvonz@google.com>
parents:
28007
diff
changeset
|
508 adding meta/b/foo/apple/bees/00manifest.i |
6f248ba85309
treemanifest: fix debugrebuildfncache
Martin von Zweigbergk <martinvonz@google.com>
parents:
28007
diff
changeset
|
509 16 items added, 0 removed from fncache |
6f248ba85309
treemanifest: fix debugrebuildfncache
Martin von Zweigbergk <martinvonz@google.com>
parents:
28007
diff
changeset
|
510 |
28168
1a943a3a78ea
tests: put test-treemanifest.t on a port diet
timeless <timeless@mozdev.org>
parents:
28063
diff
changeset
|
511 Finish first server |
1a943a3a78ea
tests: put test-treemanifest.t on a port diet
timeless <timeless@mozdev.org>
parents:
28063
diff
changeset
|
512 $ killdaemons.py |
1a943a3a78ea
tests: put test-treemanifest.t on a port diet
timeless <timeless@mozdev.org>
parents:
28063
diff
changeset
|
513 |
28203
7297e9e13a8a
verify: check directory manifests
Martin von Zweigbergk <martinvonz@google.com>
parents:
28168
diff
changeset
|
514 Back up the recently added revlogs |
7297e9e13a8a
verify: check directory manifests
Martin von Zweigbergk <martinvonz@google.com>
parents:
28168
diff
changeset
|
515 $ cp -r .hg/store .hg/store-newcopy |
7297e9e13a8a
verify: check directory manifests
Martin von Zweigbergk <martinvonz@google.com>
parents:
28168
diff
changeset
|
516 |
7297e9e13a8a
verify: check directory manifests
Martin von Zweigbergk <martinvonz@google.com>
parents:
28168
diff
changeset
|
517 Verify reports missing dirlog |
7297e9e13a8a
verify: check directory manifests
Martin von Zweigbergk <martinvonz@google.com>
parents:
28168
diff
changeset
|
518 $ rm .hg/store/meta/b/00manifest.* |
7297e9e13a8a
verify: check directory manifests
Martin von Zweigbergk <martinvonz@google.com>
parents:
28168
diff
changeset
|
519 $ hg verify |
7297e9e13a8a
verify: check directory manifests
Martin von Zweigbergk <martinvonz@google.com>
parents:
28168
diff
changeset
|
520 checking changesets |
7297e9e13a8a
verify: check directory manifests
Martin von Zweigbergk <martinvonz@google.com>
parents:
28168
diff
changeset
|
521 checking manifests |
7297e9e13a8a
verify: check directory manifests
Martin von Zweigbergk <martinvonz@google.com>
parents:
28168
diff
changeset
|
522 checking directory manifests |
7297e9e13a8a
verify: check directory manifests
Martin von Zweigbergk <martinvonz@google.com>
parents:
28168
diff
changeset
|
523 0: empty or missing b/ |
7297e9e13a8a
verify: check directory manifests
Martin von Zweigbergk <martinvonz@google.com>
parents:
28168
diff
changeset
|
524 b/@0: parent-directory manifest refers to unknown revision 67688a370455 |
7297e9e13a8a
verify: check directory manifests
Martin von Zweigbergk <martinvonz@google.com>
parents:
28168
diff
changeset
|
525 b/@1: parent-directory manifest refers to unknown revision f38e85d334c5 |
7297e9e13a8a
verify: check directory manifests
Martin von Zweigbergk <martinvonz@google.com>
parents:
28168
diff
changeset
|
526 b/@2: parent-directory manifest refers to unknown revision 99c9792fd4b0 |
28204
962921c330b0
verify: check for orphaned dirlogs
Martin von Zweigbergk <martinvonz@google.com>
parents:
28203
diff
changeset
|
527 warning: orphan revlog 'meta/b/bar/00manifest.i' |
962921c330b0
verify: check for orphaned dirlogs
Martin von Zweigbergk <martinvonz@google.com>
parents:
28203
diff
changeset
|
528 warning: orphan revlog 'meta/b/bar/orange/00manifest.i' |
962921c330b0
verify: check for orphaned dirlogs
Martin von Zweigbergk <martinvonz@google.com>
parents:
28203
diff
changeset
|
529 warning: orphan revlog 'meta/b/bar/orange/fly/00manifest.i' |
962921c330b0
verify: check for orphaned dirlogs
Martin von Zweigbergk <martinvonz@google.com>
parents:
28203
diff
changeset
|
530 warning: orphan revlog 'meta/b/foo/00manifest.i' |
962921c330b0
verify: check for orphaned dirlogs
Martin von Zweigbergk <martinvonz@google.com>
parents:
28203
diff
changeset
|
531 warning: orphan revlog 'meta/b/foo/apple/00manifest.i' |
962921c330b0
verify: check for orphaned dirlogs
Martin von Zweigbergk <martinvonz@google.com>
parents:
28203
diff
changeset
|
532 warning: orphan revlog 'meta/b/foo/apple/bees/00manifest.i' |
28203
7297e9e13a8a
verify: check directory manifests
Martin von Zweigbergk <martinvonz@google.com>
parents:
28168
diff
changeset
|
533 crosschecking files in changesets and manifests |
7297e9e13a8a
verify: check directory manifests
Martin von Zweigbergk <martinvonz@google.com>
parents:
28168
diff
changeset
|
534 b/bar/fruits.txt@0: in changeset but not in manifest |
7297e9e13a8a
verify: check directory manifests
Martin von Zweigbergk <martinvonz@google.com>
parents:
28168
diff
changeset
|
535 b/bar/orange/fly/gnat.py@0: in changeset but not in manifest |
7297e9e13a8a
verify: check directory manifests
Martin von Zweigbergk <martinvonz@google.com>
parents:
28168
diff
changeset
|
536 b/bar/orange/fly/housefly.txt@0: in changeset but not in manifest |
7297e9e13a8a
verify: check directory manifests
Martin von Zweigbergk <martinvonz@google.com>
parents:
28168
diff
changeset
|
537 b/foo/apple/bees/flower.py@0: in changeset but not in manifest |
7297e9e13a8a
verify: check directory manifests
Martin von Zweigbergk <martinvonz@google.com>
parents:
28168
diff
changeset
|
538 checking files |
7297e9e13a8a
verify: check directory manifests
Martin von Zweigbergk <martinvonz@google.com>
parents:
28168
diff
changeset
|
539 8 files, 3 changesets, 10 total revisions |
28204
962921c330b0
verify: check for orphaned dirlogs
Martin von Zweigbergk <martinvonz@google.com>
parents:
28203
diff
changeset
|
540 6 warnings encountered! |
28203
7297e9e13a8a
verify: check directory manifests
Martin von Zweigbergk <martinvonz@google.com>
parents:
28168
diff
changeset
|
541 8 integrity errors encountered! |
7297e9e13a8a
verify: check directory manifests
Martin von Zweigbergk <martinvonz@google.com>
parents:
28168
diff
changeset
|
542 (first damaged changeset appears to be 0) |
7297e9e13a8a
verify: check directory manifests
Martin von Zweigbergk <martinvonz@google.com>
parents:
28168
diff
changeset
|
543 [1] |
28335
515018f64c41
tests: Solaris cp doesn't support the -T option
Danek Duvall <danek.duvall@oracle.com>
parents:
28240
diff
changeset
|
544 $ cp -r .hg/store-newcopy/. .hg/store |
28203
7297e9e13a8a
verify: check directory manifests
Martin von Zweigbergk <martinvonz@google.com>
parents:
28168
diff
changeset
|
545 |
7297e9e13a8a
verify: check directory manifests
Martin von Zweigbergk <martinvonz@google.com>
parents:
28168
diff
changeset
|
546 Verify reports missing dirlog entry |
7297e9e13a8a
verify: check directory manifests
Martin von Zweigbergk <martinvonz@google.com>
parents:
28168
diff
changeset
|
547 $ mv -f .hg/store-copy/meta/b/00manifest.* .hg/store/meta/b/ |
7297e9e13a8a
verify: check directory manifests
Martin von Zweigbergk <martinvonz@google.com>
parents:
28168
diff
changeset
|
548 $ hg verify |
7297e9e13a8a
verify: check directory manifests
Martin von Zweigbergk <martinvonz@google.com>
parents:
28168
diff
changeset
|
549 checking changesets |
7297e9e13a8a
verify: check directory manifests
Martin von Zweigbergk <martinvonz@google.com>
parents:
28168
diff
changeset
|
550 checking manifests |
7297e9e13a8a
verify: check directory manifests
Martin von Zweigbergk <martinvonz@google.com>
parents:
28168
diff
changeset
|
551 checking directory manifests |
7297e9e13a8a
verify: check directory manifests
Martin von Zweigbergk <martinvonz@google.com>
parents:
28168
diff
changeset
|
552 b/@1: parent-directory manifest refers to unknown revision f38e85d334c5 |
7297e9e13a8a
verify: check directory manifests
Martin von Zweigbergk <martinvonz@google.com>
parents:
28168
diff
changeset
|
553 b/@2: parent-directory manifest refers to unknown revision 99c9792fd4b0 |
7297e9e13a8a
verify: check directory manifests
Martin von Zweigbergk <martinvonz@google.com>
parents:
28168
diff
changeset
|
554 b/bar/@?: rev 1 points to unexpected changeset 1 |
7297e9e13a8a
verify: check directory manifests
Martin von Zweigbergk <martinvonz@google.com>
parents:
28168
diff
changeset
|
555 b/bar/@?: 5e03c4ee5e4a not in parent-directory manifest |
7297e9e13a8a
verify: check directory manifests
Martin von Zweigbergk <martinvonz@google.com>
parents:
28168
diff
changeset
|
556 b/bar/@?: rev 2 points to unexpected changeset 2 |
7297e9e13a8a
verify: check directory manifests
Martin von Zweigbergk <martinvonz@google.com>
parents:
28168
diff
changeset
|
557 b/bar/@?: 1b16940d66d6 not in parent-directory manifest |
7297e9e13a8a
verify: check directory manifests
Martin von Zweigbergk <martinvonz@google.com>
parents:
28168
diff
changeset
|
558 b/bar/orange/@?: rev 1 points to unexpected changeset 2 |
7297e9e13a8a
verify: check directory manifests
Martin von Zweigbergk <martinvonz@google.com>
parents:
28168
diff
changeset
|
559 (expected None) |
7297e9e13a8a
verify: check directory manifests
Martin von Zweigbergk <martinvonz@google.com>
parents:
28168
diff
changeset
|
560 b/bar/orange/fly/@?: rev 1 points to unexpected changeset 2 |
7297e9e13a8a
verify: check directory manifests
Martin von Zweigbergk <martinvonz@google.com>
parents:
28168
diff
changeset
|
561 (expected None) |
7297e9e13a8a
verify: check directory manifests
Martin von Zweigbergk <martinvonz@google.com>
parents:
28168
diff
changeset
|
562 crosschecking files in changesets and manifests |
7297e9e13a8a
verify: check directory manifests
Martin von Zweigbergk <martinvonz@google.com>
parents:
28168
diff
changeset
|
563 checking files |
7297e9e13a8a
verify: check directory manifests
Martin von Zweigbergk <martinvonz@google.com>
parents:
28168
diff
changeset
|
564 8 files, 3 changesets, 10 total revisions |
7297e9e13a8a
verify: check directory manifests
Martin von Zweigbergk <martinvonz@google.com>
parents:
28168
diff
changeset
|
565 2 warnings encountered! |
7297e9e13a8a
verify: check directory manifests
Martin von Zweigbergk <martinvonz@google.com>
parents:
28168
diff
changeset
|
566 8 integrity errors encountered! |
7297e9e13a8a
verify: check directory manifests
Martin von Zweigbergk <martinvonz@google.com>
parents:
28168
diff
changeset
|
567 (first damaged changeset appears to be 1) |
7297e9e13a8a
verify: check directory manifests
Martin von Zweigbergk <martinvonz@google.com>
parents:
28168
diff
changeset
|
568 [1] |
28335
515018f64c41
tests: Solaris cp doesn't support the -T option
Danek Duvall <danek.duvall@oracle.com>
parents:
28240
diff
changeset
|
569 $ cp -r .hg/store-newcopy/. .hg/store |
28203
7297e9e13a8a
verify: check directory manifests
Martin von Zweigbergk <martinvonz@google.com>
parents:
28168
diff
changeset
|
570 |
27432
77d25b913f80
changegroup: introduce cg3, which has support for exchanging treemanifests
Augie Fackler <augie@google.com>
parents:
27271
diff
changeset
|
571 Test cloning a treemanifest repo over http. |
28168
1a943a3a78ea
tests: put test-treemanifest.t on a port diet
timeless <timeless@mozdev.org>
parents:
28063
diff
changeset
|
572 $ hg serve -p $HGPORT -d --pid-file=hg.pid --errorlog=errors.log |
27432
77d25b913f80
changegroup: introduce cg3, which has support for exchanging treemanifests
Augie Fackler <augie@google.com>
parents:
27271
diff
changeset
|
573 $ cat hg.pid >> $DAEMON_PIDS |
77d25b913f80
changegroup: introduce cg3, which has support for exchanging treemanifests
Augie Fackler <augie@google.com>
parents:
27271
diff
changeset
|
574 $ cd .. |
77d25b913f80
changegroup: introduce cg3, which has support for exchanging treemanifests
Augie Fackler <augie@google.com>
parents:
27271
diff
changeset
|
575 We can clone even with the knob turned off and we'll get a treemanifest repo. |
77d25b913f80
changegroup: introduce cg3, which has support for exchanging treemanifests
Augie Fackler <augie@google.com>
parents:
27271
diff
changeset
|
576 $ hg clone --config experimental.treemanifest=False \ |
27752
29cfc474c5fd
changegroup3: introduce experimental.changegroup3 boolean config
Martin von Zweigbergk <martinvonz@google.com>
parents:
27432
diff
changeset
|
577 > --config experimental.changegroup3=True \ |
28168
1a943a3a78ea
tests: put test-treemanifest.t on a port diet
timeless <timeless@mozdev.org>
parents:
28063
diff
changeset
|
578 > http://localhost:$HGPORT deepclone |
27432
77d25b913f80
changegroup: introduce cg3, which has support for exchanging treemanifests
Augie Fackler <augie@google.com>
parents:
27271
diff
changeset
|
579 requesting all changes |
77d25b913f80
changegroup: introduce cg3, which has support for exchanging treemanifests
Augie Fackler <augie@google.com>
parents:
27271
diff
changeset
|
580 adding changesets |
77d25b913f80
changegroup: introduce cg3, which has support for exchanging treemanifests
Augie Fackler <augie@google.com>
parents:
27271
diff
changeset
|
581 adding manifests |
77d25b913f80
changegroup: introduce cg3, which has support for exchanging treemanifests
Augie Fackler <augie@google.com>
parents:
27271
diff
changeset
|
582 adding file changes |
77d25b913f80
changegroup: introduce cg3, which has support for exchanging treemanifests
Augie Fackler <augie@google.com>
parents:
27271
diff
changeset
|
583 added 3 changesets with 10 changes to 8 files |
77d25b913f80
changegroup: introduce cg3, which has support for exchanging treemanifests
Augie Fackler <augie@google.com>
parents:
27271
diff
changeset
|
584 updating to branch default |
77d25b913f80
changegroup: introduce cg3, which has support for exchanging treemanifests
Augie Fackler <augie@google.com>
parents:
27271
diff
changeset
|
585 8 files updated, 0 files merged, 0 files removed, 0 files unresolved |
77d25b913f80
changegroup: introduce cg3, which has support for exchanging treemanifests
Augie Fackler <augie@google.com>
parents:
27271
diff
changeset
|
586 No server errors. |
77d25b913f80
changegroup: introduce cg3, which has support for exchanging treemanifests
Augie Fackler <augie@google.com>
parents:
27271
diff
changeset
|
587 $ cat deeprepo/errors.log |
77d25b913f80
changegroup: introduce cg3, which has support for exchanging treemanifests
Augie Fackler <augie@google.com>
parents:
27271
diff
changeset
|
588 requires got updated to include treemanifest |
77d25b913f80
changegroup: introduce cg3, which has support for exchanging treemanifests
Augie Fackler <augie@google.com>
parents:
27271
diff
changeset
|
589 $ cat deepclone/.hg/requires | grep treemanifest |
77d25b913f80
changegroup: introduce cg3, which has support for exchanging treemanifests
Augie Fackler <augie@google.com>
parents:
27271
diff
changeset
|
590 treemanifest |
77d25b913f80
changegroup: introduce cg3, which has support for exchanging treemanifests
Augie Fackler <augie@google.com>
parents:
27271
diff
changeset
|
591 Tree manifest revlogs exist. |
77d25b913f80
changegroup: introduce cg3, which has support for exchanging treemanifests
Augie Fackler <augie@google.com>
parents:
27271
diff
changeset
|
592 $ find deepclone/.hg/store/meta | sort |
77d25b913f80
changegroup: introduce cg3, which has support for exchanging treemanifests
Augie Fackler <augie@google.com>
parents:
27271
diff
changeset
|
593 deepclone/.hg/store/meta |
77d25b913f80
changegroup: introduce cg3, which has support for exchanging treemanifests
Augie Fackler <augie@google.com>
parents:
27271
diff
changeset
|
594 deepclone/.hg/store/meta/b |
77d25b913f80
changegroup: introduce cg3, which has support for exchanging treemanifests
Augie Fackler <augie@google.com>
parents:
27271
diff
changeset
|
595 deepclone/.hg/store/meta/b/00manifest.i |
77d25b913f80
changegroup: introduce cg3, which has support for exchanging treemanifests
Augie Fackler <augie@google.com>
parents:
27271
diff
changeset
|
596 deepclone/.hg/store/meta/b/bar |
77d25b913f80
changegroup: introduce cg3, which has support for exchanging treemanifests
Augie Fackler <augie@google.com>
parents:
27271
diff
changeset
|
597 deepclone/.hg/store/meta/b/bar/00manifest.i |
77d25b913f80
changegroup: introduce cg3, which has support for exchanging treemanifests
Augie Fackler <augie@google.com>
parents:
27271
diff
changeset
|
598 deepclone/.hg/store/meta/b/bar/orange |
77d25b913f80
changegroup: introduce cg3, which has support for exchanging treemanifests
Augie Fackler <augie@google.com>
parents:
27271
diff
changeset
|
599 deepclone/.hg/store/meta/b/bar/orange/00manifest.i |
77d25b913f80
changegroup: introduce cg3, which has support for exchanging treemanifests
Augie Fackler <augie@google.com>
parents:
27271
diff
changeset
|
600 deepclone/.hg/store/meta/b/bar/orange/fly |
77d25b913f80
changegroup: introduce cg3, which has support for exchanging treemanifests
Augie Fackler <augie@google.com>
parents:
27271
diff
changeset
|
601 deepclone/.hg/store/meta/b/bar/orange/fly/00manifest.i |
77d25b913f80
changegroup: introduce cg3, which has support for exchanging treemanifests
Augie Fackler <augie@google.com>
parents:
27271
diff
changeset
|
602 deepclone/.hg/store/meta/b/foo |
77d25b913f80
changegroup: introduce cg3, which has support for exchanging treemanifests
Augie Fackler <augie@google.com>
parents:
27271
diff
changeset
|
603 deepclone/.hg/store/meta/b/foo/00manifest.i |
77d25b913f80
changegroup: introduce cg3, which has support for exchanging treemanifests
Augie Fackler <augie@google.com>
parents:
27271
diff
changeset
|
604 deepclone/.hg/store/meta/b/foo/apple |
77d25b913f80
changegroup: introduce cg3, which has support for exchanging treemanifests
Augie Fackler <augie@google.com>
parents:
27271
diff
changeset
|
605 deepclone/.hg/store/meta/b/foo/apple/00manifest.i |
77d25b913f80
changegroup: introduce cg3, which has support for exchanging treemanifests
Augie Fackler <augie@google.com>
parents:
27271
diff
changeset
|
606 deepclone/.hg/store/meta/b/foo/apple/bees |
77d25b913f80
changegroup: introduce cg3, which has support for exchanging treemanifests
Augie Fackler <augie@google.com>
parents:
27271
diff
changeset
|
607 deepclone/.hg/store/meta/b/foo/apple/bees/00manifest.i |
28007
fb92927f9775
treemanifests: fix streaming clone
Martin von Zweigbergk <martinvonz@google.com>
parents:
28006
diff
changeset
|
608 deepclone/.hg/store/meta/~2e_a |
fb92927f9775
treemanifests: fix streaming clone
Martin von Zweigbergk <martinvonz@google.com>
parents:
28006
diff
changeset
|
609 deepclone/.hg/store/meta/~2e_a/00manifest.i |
27432
77d25b913f80
changegroup: introduce cg3, which has support for exchanging treemanifests
Augie Fackler <augie@google.com>
parents:
27271
diff
changeset
|
610 Verify passes. |
77d25b913f80
changegroup: introduce cg3, which has support for exchanging treemanifests
Augie Fackler <augie@google.com>
parents:
27271
diff
changeset
|
611 $ cd deepclone |
77d25b913f80
changegroup: introduce cg3, which has support for exchanging treemanifests
Augie Fackler <augie@google.com>
parents:
27271
diff
changeset
|
612 $ hg verify |
77d25b913f80
changegroup: introduce cg3, which has support for exchanging treemanifests
Augie Fackler <augie@google.com>
parents:
27271
diff
changeset
|
613 checking changesets |
77d25b913f80
changegroup: introduce cg3, which has support for exchanging treemanifests
Augie Fackler <augie@google.com>
parents:
27271
diff
changeset
|
614 checking manifests |
28203
7297e9e13a8a
verify: check directory manifests
Martin von Zweigbergk <martinvonz@google.com>
parents:
28168
diff
changeset
|
615 checking directory manifests |
27432
77d25b913f80
changegroup: introduce cg3, which has support for exchanging treemanifests
Augie Fackler <augie@google.com>
parents:
27271
diff
changeset
|
616 crosschecking files in changesets and manifests |
77d25b913f80
changegroup: introduce cg3, which has support for exchanging treemanifests
Augie Fackler <augie@google.com>
parents:
27271
diff
changeset
|
617 checking files |
77d25b913f80
changegroup: introduce cg3, which has support for exchanging treemanifests
Augie Fackler <augie@google.com>
parents:
27271
diff
changeset
|
618 8 files, 3 changesets, 10 total revisions |
77d25b913f80
changegroup: introduce cg3, which has support for exchanging treemanifests
Augie Fackler <augie@google.com>
parents:
27271
diff
changeset
|
619 $ cd .. |
28006
bb45190a54b7
treemanifests: fix local clone
Martin von Zweigbergk <martinvonz@google.com>
parents:
28005
diff
changeset
|
620 |
bb45190a54b7
treemanifests: fix local clone
Martin von Zweigbergk <martinvonz@google.com>
parents:
28005
diff
changeset
|
621 Create clones using old repo formats to use in later tests |
bb45190a54b7
treemanifests: fix local clone
Martin von Zweigbergk <martinvonz@google.com>
parents:
28005
diff
changeset
|
622 $ hg clone --config format.usestore=False \ |
bb45190a54b7
treemanifests: fix local clone
Martin von Zweigbergk <martinvonz@google.com>
parents:
28005
diff
changeset
|
623 > --config experimental.changegroup3=True \ |
28168
1a943a3a78ea
tests: put test-treemanifest.t on a port diet
timeless <timeless@mozdev.org>
parents:
28063
diff
changeset
|
624 > http://localhost:$HGPORT deeprepo-basicstore |
28006
bb45190a54b7
treemanifests: fix local clone
Martin von Zweigbergk <martinvonz@google.com>
parents:
28005
diff
changeset
|
625 requesting all changes |
bb45190a54b7
treemanifests: fix local clone
Martin von Zweigbergk <martinvonz@google.com>
parents:
28005
diff
changeset
|
626 adding changesets |
bb45190a54b7
treemanifests: fix local clone
Martin von Zweigbergk <martinvonz@google.com>
parents:
28005
diff
changeset
|
627 adding manifests |
bb45190a54b7
treemanifests: fix local clone
Martin von Zweigbergk <martinvonz@google.com>
parents:
28005
diff
changeset
|
628 adding file changes |
bb45190a54b7
treemanifests: fix local clone
Martin von Zweigbergk <martinvonz@google.com>
parents:
28005
diff
changeset
|
629 added 3 changesets with 10 changes to 8 files |
bb45190a54b7
treemanifests: fix local clone
Martin von Zweigbergk <martinvonz@google.com>
parents:
28005
diff
changeset
|
630 updating to branch default |
bb45190a54b7
treemanifests: fix local clone
Martin von Zweigbergk <martinvonz@google.com>
parents:
28005
diff
changeset
|
631 8 files updated, 0 files merged, 0 files removed, 0 files unresolved |
28007
fb92927f9775
treemanifests: fix streaming clone
Martin von Zweigbergk <martinvonz@google.com>
parents:
28006
diff
changeset
|
632 $ cd deeprepo-basicstore |
fb92927f9775
treemanifests: fix streaming clone
Martin von Zweigbergk <martinvonz@google.com>
parents:
28006
diff
changeset
|
633 $ grep store .hg/requires |
28006
bb45190a54b7
treemanifests: fix local clone
Martin von Zweigbergk <martinvonz@google.com>
parents:
28005
diff
changeset
|
634 [1] |
28168
1a943a3a78ea
tests: put test-treemanifest.t on a port diet
timeless <timeless@mozdev.org>
parents:
28063
diff
changeset
|
635 $ hg serve -p $HGPORT1 -d --pid-file=hg.pid --errorlog=errors.log |
28007
fb92927f9775
treemanifests: fix streaming clone
Martin von Zweigbergk <martinvonz@google.com>
parents:
28006
diff
changeset
|
636 $ cat hg.pid >> $DAEMON_PIDS |
fb92927f9775
treemanifests: fix streaming clone
Martin von Zweigbergk <martinvonz@google.com>
parents:
28006
diff
changeset
|
637 $ cd .. |
28006
bb45190a54b7
treemanifests: fix local clone
Martin von Zweigbergk <martinvonz@google.com>
parents:
28005
diff
changeset
|
638 $ hg clone --config format.usefncache=False \ |
bb45190a54b7
treemanifests: fix local clone
Martin von Zweigbergk <martinvonz@google.com>
parents:
28005
diff
changeset
|
639 > --config experimental.changegroup3=True \ |
28168
1a943a3a78ea
tests: put test-treemanifest.t on a port diet
timeless <timeless@mozdev.org>
parents:
28063
diff
changeset
|
640 > http://localhost:$HGPORT deeprepo-encodedstore |
28006
bb45190a54b7
treemanifests: fix local clone
Martin von Zweigbergk <martinvonz@google.com>
parents:
28005
diff
changeset
|
641 requesting all changes |
bb45190a54b7
treemanifests: fix local clone
Martin von Zweigbergk <martinvonz@google.com>
parents:
28005
diff
changeset
|
642 adding changesets |
bb45190a54b7
treemanifests: fix local clone
Martin von Zweigbergk <martinvonz@google.com>
parents:
28005
diff
changeset
|
643 adding manifests |
bb45190a54b7
treemanifests: fix local clone
Martin von Zweigbergk <martinvonz@google.com>
parents:
28005
diff
changeset
|
644 adding file changes |
bb45190a54b7
treemanifests: fix local clone
Martin von Zweigbergk <martinvonz@google.com>
parents:
28005
diff
changeset
|
645 added 3 changesets with 10 changes to 8 files |
bb45190a54b7
treemanifests: fix local clone
Martin von Zweigbergk <martinvonz@google.com>
parents:
28005
diff
changeset
|
646 updating to branch default |
bb45190a54b7
treemanifests: fix local clone
Martin von Zweigbergk <martinvonz@google.com>
parents:
28005
diff
changeset
|
647 8 files updated, 0 files merged, 0 files removed, 0 files unresolved |
28007
fb92927f9775
treemanifests: fix streaming clone
Martin von Zweigbergk <martinvonz@google.com>
parents:
28006
diff
changeset
|
648 $ cd deeprepo-encodedstore |
fb92927f9775
treemanifests: fix streaming clone
Martin von Zweigbergk <martinvonz@google.com>
parents:
28006
diff
changeset
|
649 $ grep fncache .hg/requires |
28006
bb45190a54b7
treemanifests: fix local clone
Martin von Zweigbergk <martinvonz@google.com>
parents:
28005
diff
changeset
|
650 [1] |
28168
1a943a3a78ea
tests: put test-treemanifest.t on a port diet
timeless <timeless@mozdev.org>
parents:
28063
diff
changeset
|
651 $ hg serve -p $HGPORT2 -d --pid-file=hg.pid --errorlog=errors.log |
28007
fb92927f9775
treemanifests: fix streaming clone
Martin von Zweigbergk <martinvonz@google.com>
parents:
28006
diff
changeset
|
652 $ cat hg.pid >> $DAEMON_PIDS |
fb92927f9775
treemanifests: fix streaming clone
Martin von Zweigbergk <martinvonz@google.com>
parents:
28006
diff
changeset
|
653 $ cd .. |
28006
bb45190a54b7
treemanifests: fix local clone
Martin von Zweigbergk <martinvonz@google.com>
parents:
28005
diff
changeset
|
654 |
bb45190a54b7
treemanifests: fix local clone
Martin von Zweigbergk <martinvonz@google.com>
parents:
28005
diff
changeset
|
655 Local clone with basicstore |
bb45190a54b7
treemanifests: fix local clone
Martin von Zweigbergk <martinvonz@google.com>
parents:
28005
diff
changeset
|
656 $ hg clone -U deeprepo-basicstore local-clone-basicstore |
bb45190a54b7
treemanifests: fix local clone
Martin von Zweigbergk <martinvonz@google.com>
parents:
28005
diff
changeset
|
657 $ hg -R local-clone-basicstore verify |
bb45190a54b7
treemanifests: fix local clone
Martin von Zweigbergk <martinvonz@google.com>
parents:
28005
diff
changeset
|
658 checking changesets |
bb45190a54b7
treemanifests: fix local clone
Martin von Zweigbergk <martinvonz@google.com>
parents:
28005
diff
changeset
|
659 checking manifests |
28203
7297e9e13a8a
verify: check directory manifests
Martin von Zweigbergk <martinvonz@google.com>
parents:
28168
diff
changeset
|
660 checking directory manifests |
28006
bb45190a54b7
treemanifests: fix local clone
Martin von Zweigbergk <martinvonz@google.com>
parents:
28005
diff
changeset
|
661 crosschecking files in changesets and manifests |
bb45190a54b7
treemanifests: fix local clone
Martin von Zweigbergk <martinvonz@google.com>
parents:
28005
diff
changeset
|
662 checking files |
bb45190a54b7
treemanifests: fix local clone
Martin von Zweigbergk <martinvonz@google.com>
parents:
28005
diff
changeset
|
663 8 files, 3 changesets, 10 total revisions |
bb45190a54b7
treemanifests: fix local clone
Martin von Zweigbergk <martinvonz@google.com>
parents:
28005
diff
changeset
|
664 |
bb45190a54b7
treemanifests: fix local clone
Martin von Zweigbergk <martinvonz@google.com>
parents:
28005
diff
changeset
|
665 Local clone with encodedstore |
bb45190a54b7
treemanifests: fix local clone
Martin von Zweigbergk <martinvonz@google.com>
parents:
28005
diff
changeset
|
666 $ hg clone -U deeprepo-encodedstore local-clone-encodedstore |
bb45190a54b7
treemanifests: fix local clone
Martin von Zweigbergk <martinvonz@google.com>
parents:
28005
diff
changeset
|
667 $ hg -R local-clone-encodedstore verify |
bb45190a54b7
treemanifests: fix local clone
Martin von Zweigbergk <martinvonz@google.com>
parents:
28005
diff
changeset
|
668 checking changesets |
bb45190a54b7
treemanifests: fix local clone
Martin von Zweigbergk <martinvonz@google.com>
parents:
28005
diff
changeset
|
669 checking manifests |
28203
7297e9e13a8a
verify: check directory manifests
Martin von Zweigbergk <martinvonz@google.com>
parents:
28168
diff
changeset
|
670 checking directory manifests |
28006
bb45190a54b7
treemanifests: fix local clone
Martin von Zweigbergk <martinvonz@google.com>
parents:
28005
diff
changeset
|
671 crosschecking files in changesets and manifests |
bb45190a54b7
treemanifests: fix local clone
Martin von Zweigbergk <martinvonz@google.com>
parents:
28005
diff
changeset
|
672 checking files |
bb45190a54b7
treemanifests: fix local clone
Martin von Zweigbergk <martinvonz@google.com>
parents:
28005
diff
changeset
|
673 8 files, 3 changesets, 10 total revisions |
bb45190a54b7
treemanifests: fix local clone
Martin von Zweigbergk <martinvonz@google.com>
parents:
28005
diff
changeset
|
674 |
bb45190a54b7
treemanifests: fix local clone
Martin von Zweigbergk <martinvonz@google.com>
parents:
28005
diff
changeset
|
675 Local clone with fncachestore |
bb45190a54b7
treemanifests: fix local clone
Martin von Zweigbergk <martinvonz@google.com>
parents:
28005
diff
changeset
|
676 $ hg clone -U deeprepo local-clone-fncachestore |
bb45190a54b7
treemanifests: fix local clone
Martin von Zweigbergk <martinvonz@google.com>
parents:
28005
diff
changeset
|
677 $ hg -R local-clone-fncachestore verify |
bb45190a54b7
treemanifests: fix local clone
Martin von Zweigbergk <martinvonz@google.com>
parents:
28005
diff
changeset
|
678 checking changesets |
bb45190a54b7
treemanifests: fix local clone
Martin von Zweigbergk <martinvonz@google.com>
parents:
28005
diff
changeset
|
679 checking manifests |
28203
7297e9e13a8a
verify: check directory manifests
Martin von Zweigbergk <martinvonz@google.com>
parents:
28168
diff
changeset
|
680 checking directory manifests |
28006
bb45190a54b7
treemanifests: fix local clone
Martin von Zweigbergk <martinvonz@google.com>
parents:
28005
diff
changeset
|
681 crosschecking files in changesets and manifests |
bb45190a54b7
treemanifests: fix local clone
Martin von Zweigbergk <martinvonz@google.com>
parents:
28005
diff
changeset
|
682 checking files |
bb45190a54b7
treemanifests: fix local clone
Martin von Zweigbergk <martinvonz@google.com>
parents:
28005
diff
changeset
|
683 8 files, 3 changesets, 10 total revisions |
28007
fb92927f9775
treemanifests: fix streaming clone
Martin von Zweigbergk <martinvonz@google.com>
parents:
28006
diff
changeset
|
684 |
fb92927f9775
treemanifests: fix streaming clone
Martin von Zweigbergk <martinvonz@google.com>
parents:
28006
diff
changeset
|
685 Stream clone with basicstore |
fb92927f9775
treemanifests: fix streaming clone
Martin von Zweigbergk <martinvonz@google.com>
parents:
28006
diff
changeset
|
686 $ hg clone --config experimental.changegroup3=True --uncompressed -U \ |
28168
1a943a3a78ea
tests: put test-treemanifest.t on a port diet
timeless <timeless@mozdev.org>
parents:
28063
diff
changeset
|
687 > http://localhost:$HGPORT1 stream-clone-basicstore |
28007
fb92927f9775
treemanifests: fix streaming clone
Martin von Zweigbergk <martinvonz@google.com>
parents:
28006
diff
changeset
|
688 streaming all changes |
fb92927f9775
treemanifests: fix streaming clone
Martin von Zweigbergk <martinvonz@google.com>
parents:
28006
diff
changeset
|
689 18 files to transfer, * of data (glob) |
fb92927f9775
treemanifests: fix streaming clone
Martin von Zweigbergk <martinvonz@google.com>
parents:
28006
diff
changeset
|
690 transferred * in * seconds (*) (glob) |
fb92927f9775
treemanifests: fix streaming clone
Martin von Zweigbergk <martinvonz@google.com>
parents:
28006
diff
changeset
|
691 searching for changes |
fb92927f9775
treemanifests: fix streaming clone
Martin von Zweigbergk <martinvonz@google.com>
parents:
28006
diff
changeset
|
692 no changes found |
fb92927f9775
treemanifests: fix streaming clone
Martin von Zweigbergk <martinvonz@google.com>
parents:
28006
diff
changeset
|
693 $ hg -R stream-clone-basicstore verify |
fb92927f9775
treemanifests: fix streaming clone
Martin von Zweigbergk <martinvonz@google.com>
parents:
28006
diff
changeset
|
694 checking changesets |
fb92927f9775
treemanifests: fix streaming clone
Martin von Zweigbergk <martinvonz@google.com>
parents:
28006
diff
changeset
|
695 checking manifests |
28203
7297e9e13a8a
verify: check directory manifests
Martin von Zweigbergk <martinvonz@google.com>
parents:
28168
diff
changeset
|
696 checking directory manifests |
28007
fb92927f9775
treemanifests: fix streaming clone
Martin von Zweigbergk <martinvonz@google.com>
parents:
28006
diff
changeset
|
697 crosschecking files in changesets and manifests |
fb92927f9775
treemanifests: fix streaming clone
Martin von Zweigbergk <martinvonz@google.com>
parents:
28006
diff
changeset
|
698 checking files |
fb92927f9775
treemanifests: fix streaming clone
Martin von Zweigbergk <martinvonz@google.com>
parents:
28006
diff
changeset
|
699 8 files, 3 changesets, 10 total revisions |
fb92927f9775
treemanifests: fix streaming clone
Martin von Zweigbergk <martinvonz@google.com>
parents:
28006
diff
changeset
|
700 |
fb92927f9775
treemanifests: fix streaming clone
Martin von Zweigbergk <martinvonz@google.com>
parents:
28006
diff
changeset
|
701 Stream clone with encodedstore |
fb92927f9775
treemanifests: fix streaming clone
Martin von Zweigbergk <martinvonz@google.com>
parents:
28006
diff
changeset
|
702 $ hg clone --config experimental.changegroup3=True --uncompressed -U \ |
28168
1a943a3a78ea
tests: put test-treemanifest.t on a port diet
timeless <timeless@mozdev.org>
parents:
28063
diff
changeset
|
703 > http://localhost:$HGPORT2 stream-clone-encodedstore |
28007
fb92927f9775
treemanifests: fix streaming clone
Martin von Zweigbergk <martinvonz@google.com>
parents:
28006
diff
changeset
|
704 streaming all changes |
fb92927f9775
treemanifests: fix streaming clone
Martin von Zweigbergk <martinvonz@google.com>
parents:
28006
diff
changeset
|
705 18 files to transfer, * of data (glob) |
fb92927f9775
treemanifests: fix streaming clone
Martin von Zweigbergk <martinvonz@google.com>
parents:
28006
diff
changeset
|
706 transferred * in * seconds (*) (glob) |
fb92927f9775
treemanifests: fix streaming clone
Martin von Zweigbergk <martinvonz@google.com>
parents:
28006
diff
changeset
|
707 searching for changes |
fb92927f9775
treemanifests: fix streaming clone
Martin von Zweigbergk <martinvonz@google.com>
parents:
28006
diff
changeset
|
708 no changes found |
fb92927f9775
treemanifests: fix streaming clone
Martin von Zweigbergk <martinvonz@google.com>
parents:
28006
diff
changeset
|
709 $ hg -R stream-clone-encodedstore verify |
fb92927f9775
treemanifests: fix streaming clone
Martin von Zweigbergk <martinvonz@google.com>
parents:
28006
diff
changeset
|
710 checking changesets |
fb92927f9775
treemanifests: fix streaming clone
Martin von Zweigbergk <martinvonz@google.com>
parents:
28006
diff
changeset
|
711 checking manifests |
28203
7297e9e13a8a
verify: check directory manifests
Martin von Zweigbergk <martinvonz@google.com>
parents:
28168
diff
changeset
|
712 checking directory manifests |
28007
fb92927f9775
treemanifests: fix streaming clone
Martin von Zweigbergk <martinvonz@google.com>
parents:
28006
diff
changeset
|
713 crosschecking files in changesets and manifests |
fb92927f9775
treemanifests: fix streaming clone
Martin von Zweigbergk <martinvonz@google.com>
parents:
28006
diff
changeset
|
714 checking files |
fb92927f9775
treemanifests: fix streaming clone
Martin von Zweigbergk <martinvonz@google.com>
parents:
28006
diff
changeset
|
715 8 files, 3 changesets, 10 total revisions |
fb92927f9775
treemanifests: fix streaming clone
Martin von Zweigbergk <martinvonz@google.com>
parents:
28006
diff
changeset
|
716 |
fb92927f9775
treemanifests: fix streaming clone
Martin von Zweigbergk <martinvonz@google.com>
parents:
28006
diff
changeset
|
717 Stream clone with fncachestore |
fb92927f9775
treemanifests: fix streaming clone
Martin von Zweigbergk <martinvonz@google.com>
parents:
28006
diff
changeset
|
718 $ hg clone --config experimental.changegroup3=True --uncompressed -U \ |
28168
1a943a3a78ea
tests: put test-treemanifest.t on a port diet
timeless <timeless@mozdev.org>
parents:
28063
diff
changeset
|
719 > http://localhost:$HGPORT stream-clone-fncachestore |
28007
fb92927f9775
treemanifests: fix streaming clone
Martin von Zweigbergk <martinvonz@google.com>
parents:
28006
diff
changeset
|
720 streaming all changes |
fb92927f9775
treemanifests: fix streaming clone
Martin von Zweigbergk <martinvonz@google.com>
parents:
28006
diff
changeset
|
721 18 files to transfer, * of data (glob) |
fb92927f9775
treemanifests: fix streaming clone
Martin von Zweigbergk <martinvonz@google.com>
parents:
28006
diff
changeset
|
722 transferred * in * seconds (*) (glob) |
fb92927f9775
treemanifests: fix streaming clone
Martin von Zweigbergk <martinvonz@google.com>
parents:
28006
diff
changeset
|
723 searching for changes |
fb92927f9775
treemanifests: fix streaming clone
Martin von Zweigbergk <martinvonz@google.com>
parents:
28006
diff
changeset
|
724 no changes found |
fb92927f9775
treemanifests: fix streaming clone
Martin von Zweigbergk <martinvonz@google.com>
parents:
28006
diff
changeset
|
725 $ hg -R stream-clone-fncachestore verify |
fb92927f9775
treemanifests: fix streaming clone
Martin von Zweigbergk <martinvonz@google.com>
parents:
28006
diff
changeset
|
726 checking changesets |
fb92927f9775
treemanifests: fix streaming clone
Martin von Zweigbergk <martinvonz@google.com>
parents:
28006
diff
changeset
|
727 checking manifests |
28203
7297e9e13a8a
verify: check directory manifests
Martin von Zweigbergk <martinvonz@google.com>
parents:
28168
diff
changeset
|
728 checking directory manifests |
28007
fb92927f9775
treemanifests: fix streaming clone
Martin von Zweigbergk <martinvonz@google.com>
parents:
28006
diff
changeset
|
729 crosschecking files in changesets and manifests |
fb92927f9775
treemanifests: fix streaming clone
Martin von Zweigbergk <martinvonz@google.com>
parents:
28006
diff
changeset
|
730 checking files |
fb92927f9775
treemanifests: fix streaming clone
Martin von Zweigbergk <martinvonz@google.com>
parents:
28006
diff
changeset
|
731 8 files, 3 changesets, 10 total revisions |
fb92927f9775
treemanifests: fix streaming clone
Martin von Zweigbergk <martinvonz@google.com>
parents:
28006
diff
changeset
|
732 |
fb92927f9775
treemanifests: fix streaming clone
Martin von Zweigbergk <martinvonz@google.com>
parents:
28006
diff
changeset
|
733 Packed bundle |
fb92927f9775
treemanifests: fix streaming clone
Martin von Zweigbergk <martinvonz@google.com>
parents:
28006
diff
changeset
|
734 $ hg -R deeprepo debugcreatestreamclonebundle repo-packed.hg |
fb92927f9775
treemanifests: fix streaming clone
Martin von Zweigbergk <martinvonz@google.com>
parents:
28006
diff
changeset
|
735 writing 3349 bytes for 18 files |
fb92927f9775
treemanifests: fix streaming clone
Martin von Zweigbergk <martinvonz@google.com>
parents:
28006
diff
changeset
|
736 bundle requirements: generaldelta, revlogv1, treemanifest |
fb92927f9775
treemanifests: fix streaming clone
Martin von Zweigbergk <martinvonz@google.com>
parents:
28006
diff
changeset
|
737 $ hg debugbundle --spec repo-packed.hg |
fb92927f9775
treemanifests: fix streaming clone
Martin von Zweigbergk <martinvonz@google.com>
parents:
28006
diff
changeset
|
738 none-packed1;requirements%3Dgeneraldelta%2Crevlogv1%2Ctreemanifest |
28669
c4b727795d6a
bundle: avoid crash when no good changegroup version found
Martin von Zweigbergk <martinvonz@google.com>
parents:
28335
diff
changeset
|
739 |
c4b727795d6a
bundle: avoid crash when no good changegroup version found
Martin von Zweigbergk <martinvonz@google.com>
parents:
28335
diff
changeset
|
740 Bundle with changegroup2 is not supported |
c4b727795d6a
bundle: avoid crash when no good changegroup version found
Martin von Zweigbergk <martinvonz@google.com>
parents:
28335
diff
changeset
|
741 |
c4b727795d6a
bundle: avoid crash when no good changegroup version found
Martin von Zweigbergk <martinvonz@google.com>
parents:
28335
diff
changeset
|
742 $ hg -R deeprepo bundle --all -t v2 deeprepo.bundle |
c4b727795d6a
bundle: avoid crash when no good changegroup version found
Martin von Zweigbergk <martinvonz@google.com>
parents:
28335
diff
changeset
|
743 abort: repository does not support bundle version 02 |
c4b727795d6a
bundle: avoid crash when no good changegroup version found
Martin von Zweigbergk <martinvonz@google.com>
parents:
28335
diff
changeset
|
744 [255] |