Mercurial > hg
annotate tests/test-pull-r.t @ 31097:4a1486c73fdf
manifest: check 'if x is None' instead of 'if not x'
The old code here would end up executing __len__ on a tree manifest to determine
if 'not _data' was true or not. This was very expensive on large repos. Since
this function just cares about memoization, we can just check 'if _data is None'
instead and save a bunch of time.
author | Durham Goode <durham@fb.com> |
---|---|
date | Sun, 26 Feb 2017 10:16:47 -0800 |
parents | e01bd7385f4f |
children | eb586ed5d8ce |
rev | line source |
---|---|
12279 | 1 $ hg init repo |
2 $ cd repo | |
3 $ echo foo > foo | |
4 $ hg ci -qAm 'add foo' | |
5 $ echo >> foo | |
6 $ hg ci -m 'change foo' | |
7 $ hg up -qC 0 | |
8 $ echo bar > bar | |
9 $ hg ci -qAm 'add bar' | |
5221
8ede77c2d008
pull -r: pass the revisions as the heads argument of findincoming
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents:
diff
changeset
|
10 |
12279 | 11 $ hg log |
12 changeset: 2:effea6de0384 | |
13 tag: tip | |
14 parent: 0:bbd179dfa0a7 | |
15 user: test | |
16 date: Thu Jan 01 00:00:00 1970 +0000 | |
17 summary: add bar | |
18 | |
19 changeset: 1:ed1b79f46b9a | |
20 user: test | |
21 date: Thu Jan 01 00:00:00 1970 +0000 | |
22 summary: change foo | |
23 | |
24 changeset: 0:bbd179dfa0a7 | |
25 user: test | |
26 date: Thu Jan 01 00:00:00 1970 +0000 | |
27 summary: add foo | |
28 | |
29 $ cd .. | |
14036
90d997a812dc
changegroup: do not count closed new heads (issue2697)
Adrian Buehlmann <adrian@cadifra.com>
parents:
13446
diff
changeset
|
30 |
90d997a812dc
changegroup: do not count closed new heads (issue2697)
Adrian Buehlmann <adrian@cadifra.com>
parents:
13446
diff
changeset
|
31 don't show "(+1 heads)" message when pulling closed head |
90d997a812dc
changegroup: do not count closed new heads (issue2697)
Adrian Buehlmann <adrian@cadifra.com>
parents:
13446
diff
changeset
|
32 |
90d997a812dc
changegroup: do not count closed new heads (issue2697)
Adrian Buehlmann <adrian@cadifra.com>
parents:
13446
diff
changeset
|
33 $ hg clone -q repo repo2 |
90d997a812dc
changegroup: do not count closed new heads (issue2697)
Adrian Buehlmann <adrian@cadifra.com>
parents:
13446
diff
changeset
|
34 $ hg clone -q repo2 repo3 |
90d997a812dc
changegroup: do not count closed new heads (issue2697)
Adrian Buehlmann <adrian@cadifra.com>
parents:
13446
diff
changeset
|
35 $ cd repo2 |
90d997a812dc
changegroup: do not count closed new heads (issue2697)
Adrian Buehlmann <adrian@cadifra.com>
parents:
13446
diff
changeset
|
36 $ hg up -q 0 |
90d997a812dc
changegroup: do not count closed new heads (issue2697)
Adrian Buehlmann <adrian@cadifra.com>
parents:
13446
diff
changeset
|
37 $ echo hello >> foo |
90d997a812dc
changegroup: do not count closed new heads (issue2697)
Adrian Buehlmann <adrian@cadifra.com>
parents:
13446
diff
changeset
|
38 $ hg ci -mx1 |
90d997a812dc
changegroup: do not count closed new heads (issue2697)
Adrian Buehlmann <adrian@cadifra.com>
parents:
13446
diff
changeset
|
39 created new head |
90d997a812dc
changegroup: do not count closed new heads (issue2697)
Adrian Buehlmann <adrian@cadifra.com>
parents:
13446
diff
changeset
|
40 $ hg ci -mx2 --close-branch |
90d997a812dc
changegroup: do not count closed new heads (issue2697)
Adrian Buehlmann <adrian@cadifra.com>
parents:
13446
diff
changeset
|
41 $ cd ../repo3 |
90d997a812dc
changegroup: do not count closed new heads (issue2697)
Adrian Buehlmann <adrian@cadifra.com>
parents:
13446
diff
changeset
|
42 $ hg heads -q --closed |
90d997a812dc
changegroup: do not count closed new heads (issue2697)
Adrian Buehlmann <adrian@cadifra.com>
parents:
13446
diff
changeset
|
43 2:effea6de0384 |
90d997a812dc
changegroup: do not count closed new heads (issue2697)
Adrian Buehlmann <adrian@cadifra.com>
parents:
13446
diff
changeset
|
44 1:ed1b79f46b9a |
90d997a812dc
changegroup: do not count closed new heads (issue2697)
Adrian Buehlmann <adrian@cadifra.com>
parents:
13446
diff
changeset
|
45 $ hg pull |
15447
9910f60a37ee
tests: make (glob) on windows accept \ instead of /
Mads Kiilerich <mads@kiilerich.com>
parents:
14162
diff
changeset
|
46 pulling from $TESTTMP/repo2 (glob) |
14036
90d997a812dc
changegroup: do not count closed new heads (issue2697)
Adrian Buehlmann <adrian@cadifra.com>
parents:
13446
diff
changeset
|
47 searching for changes |
90d997a812dc
changegroup: do not count closed new heads (issue2697)
Adrian Buehlmann <adrian@cadifra.com>
parents:
13446
diff
changeset
|
48 adding changesets |
90d997a812dc
changegroup: do not count closed new heads (issue2697)
Adrian Buehlmann <adrian@cadifra.com>
parents:
13446
diff
changeset
|
49 adding manifests |
90d997a812dc
changegroup: do not count closed new heads (issue2697)
Adrian Buehlmann <adrian@cadifra.com>
parents:
13446
diff
changeset
|
50 adding file changes |
90d997a812dc
changegroup: do not count closed new heads (issue2697)
Adrian Buehlmann <adrian@cadifra.com>
parents:
13446
diff
changeset
|
51 added 2 changesets with 1 changes to 1 files |
90d997a812dc
changegroup: do not count closed new heads (issue2697)
Adrian Buehlmann <adrian@cadifra.com>
parents:
13446
diff
changeset
|
52 (run 'hg update' to get a working copy) |
90d997a812dc
changegroup: do not count closed new heads (issue2697)
Adrian Buehlmann <adrian@cadifra.com>
parents:
13446
diff
changeset
|
53 $ hg heads -q --closed |
14162
301725c3df9a
localrepo: reuse parent manifest in commitctx if no files have changed
Peter Arrenbrecht <peter.arrenbrecht@gmail.com>
parents:
14036
diff
changeset
|
54 4:00cfe9073916 |
14036
90d997a812dc
changegroup: do not count closed new heads (issue2697)
Adrian Buehlmann <adrian@cadifra.com>
parents:
13446
diff
changeset
|
55 2:effea6de0384 |
90d997a812dc
changegroup: do not count closed new heads (issue2697)
Adrian Buehlmann <adrian@cadifra.com>
parents:
13446
diff
changeset
|
56 1:ed1b79f46b9a |
90d997a812dc
changegroup: do not count closed new heads (issue2697)
Adrian Buehlmann <adrian@cadifra.com>
parents:
13446
diff
changeset
|
57 |
90d997a812dc
changegroup: do not count closed new heads (issue2697)
Adrian Buehlmann <adrian@cadifra.com>
parents:
13446
diff
changeset
|
58 $ cd .. |
90d997a812dc
changegroup: do not count closed new heads (issue2697)
Adrian Buehlmann <adrian@cadifra.com>
parents:
13446
diff
changeset
|
59 |
12279 | 60 $ hg init copy |
61 $ cd copy | |
62 | |
63 Pull a missing revision: | |
5221
8ede77c2d008
pull -r: pass the revisions as the heads argument of findincoming
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents:
diff
changeset
|
64 |
12279 | 65 $ hg pull -qr missing ../repo |
66 abort: unknown revision 'missing'! | |
12316
4134686b83e1
tests: add exit codes to unified tests
Matt Mackall <mpm@selenic.com>
parents:
12279
diff
changeset
|
67 [255] |
12279 | 68 |
69 Pull multiple revisions with update: | |
6405
b8346ae5d64b
commands: fix shadowed repo module
Patrick Mezard <pmezard@gmail.com>
parents:
5221
diff
changeset
|
70 |
12279 | 71 $ hg pull -qu -r 0 -r 1 ../repo |
72 $ hg -q parents | |
73 0:bbd179dfa0a7 | |
74 $ hg rollback | |
13446
1e497df514e2
rollback: clarifies the message about the reverted state (issue2628)
Gilles Moris <gilles.moris@free.fr>
parents:
12316
diff
changeset
|
75 repository tip rolled back to revision -1 (undo pull) |
1e497df514e2
rollback: clarifies the message about the reverted state (issue2628)
Gilles Moris <gilles.moris@free.fr>
parents:
12316
diff
changeset
|
76 working directory now based on revision -1 |
10358
d42821cd5c96
pull: with -u and -r, update to the first revision given
Sune Foldager <cryo@cyanite.org>
parents:
8167
diff
changeset
|
77 |
12279 | 78 $ hg pull -qr 0 ../repo |
79 $ hg log | |
80 changeset: 0:bbd179dfa0a7 | |
81 tag: tip | |
82 user: test | |
83 date: Thu Jan 01 00:00:00 1970 +0000 | |
84 summary: add foo | |
85 | |
86 $ hg pull -qr 1 ../repo | |
87 $ hg log | |
88 changeset: 1:ed1b79f46b9a | |
89 tag: tip | |
90 user: test | |
91 date: Thu Jan 01 00:00:00 1970 +0000 | |
92 summary: change foo | |
93 | |
94 changeset: 0:bbd179dfa0a7 | |
95 user: test | |
96 date: Thu Jan 01 00:00:00 1970 +0000 | |
97 summary: add foo | |
98 | |
5221
8ede77c2d008
pull -r: pass the revisions as the heads argument of findincoming
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents:
diff
changeset
|
99 |
12279 | 100 This used to abort: received changelog group is empty: |
5221
8ede77c2d008
pull -r: pass the revisions as the heads argument of findincoming
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents:
diff
changeset
|
101 |
12279 | 102 $ hg pull -qr 1 ../repo |
103 | |
25425
9263f86b9681
pull: avoid race condition with 'hg pull --rev name --update' (issue4706)
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
16913
diff
changeset
|
104 Test race condition with -r and -U (issue4707) |
9263f86b9681
pull: avoid race condition with 'hg pull --rev name --update' (issue4706)
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
16913
diff
changeset
|
105 |
9263f86b9681
pull: avoid race condition with 'hg pull --rev name --update' (issue4706)
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
16913
diff
changeset
|
106 We pull '-U -r <name>' and the name change right after/during the changegroup emission. |
9263f86b9681
pull: avoid race condition with 'hg pull --rev name --update' (issue4706)
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
16913
diff
changeset
|
107 We use http because http is better is our racy-est option. |
9263f86b9681
pull: avoid race condition with 'hg pull --rev name --update' (issue4706)
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
16913
diff
changeset
|
108 |
9263f86b9681
pull: avoid race condition with 'hg pull --rev name --update' (issue4706)
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
16913
diff
changeset
|
109 |
9263f86b9681
pull: avoid race condition with 'hg pull --rev name --update' (issue4706)
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
16913
diff
changeset
|
110 $ echo babar > ../repo/jungle |
9263f86b9681
pull: avoid race condition with 'hg pull --rev name --update' (issue4706)
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
16913
diff
changeset
|
111 $ cat <<EOF > ../repo/.hg/hgrc |
9263f86b9681
pull: avoid race condition with 'hg pull --rev name --update' (issue4706)
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
16913
diff
changeset
|
112 > [hooks] |
9263f86b9681
pull: avoid race condition with 'hg pull --rev name --update' (issue4706)
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
16913
diff
changeset
|
113 > outgoing.makecommit = hg ci -Am 'racy commit'; echo committed in pull-race |
9263f86b9681
pull: avoid race condition with 'hg pull --rev name --update' (issue4706)
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
16913
diff
changeset
|
114 > EOF |
28549 | 115 $ hg serve -R ../repo -p $HGPORT2 -d --pid-file=../repo.pid |
25425
9263f86b9681
pull: avoid race condition with 'hg pull --rev name --update' (issue4706)
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
16913
diff
changeset
|
116 $ cat ../repo.pid >> $DAEMON_PIDS |
9263f86b9681
pull: avoid race condition with 'hg pull --rev name --update' (issue4706)
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
16913
diff
changeset
|
117 $ hg pull --rev default --update http://localhost:$HGPORT2/ |
9263f86b9681
pull: avoid race condition with 'hg pull --rev name --update' (issue4706)
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
16913
diff
changeset
|
118 pulling from http://localhost:$HGPORT2/ |
9263f86b9681
pull: avoid race condition with 'hg pull --rev name --update' (issue4706)
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
16913
diff
changeset
|
119 searching for changes |
9263f86b9681
pull: avoid race condition with 'hg pull --rev name --update' (issue4706)
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
16913
diff
changeset
|
120 adding changesets |
9263f86b9681
pull: avoid race condition with 'hg pull --rev name --update' (issue4706)
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
16913
diff
changeset
|
121 adding manifests |
9263f86b9681
pull: avoid race condition with 'hg pull --rev name --update' (issue4706)
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
16913
diff
changeset
|
122 adding file changes |
9263f86b9681
pull: avoid race condition with 'hg pull --rev name --update' (issue4706)
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
16913
diff
changeset
|
123 added 1 changesets with 1 changes to 1 files (+1 heads) |
9263f86b9681
pull: avoid race condition with 'hg pull --rev name --update' (issue4706)
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
16913
diff
changeset
|
124 2 files updated, 0 files merged, 0 files removed, 0 files unresolved |
9263f86b9681
pull: avoid race condition with 'hg pull --rev name --update' (issue4706)
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
16913
diff
changeset
|
125 $ hg log -G |
9263f86b9681
pull: avoid race condition with 'hg pull --rev name --update' (issue4706)
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
16913
diff
changeset
|
126 @ changeset: 2:effea6de0384 |
9263f86b9681
pull: avoid race condition with 'hg pull --rev name --update' (issue4706)
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
16913
diff
changeset
|
127 | tag: tip |
9263f86b9681
pull: avoid race condition with 'hg pull --rev name --update' (issue4706)
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
16913
diff
changeset
|
128 | parent: 0:bbd179dfa0a7 |
9263f86b9681
pull: avoid race condition with 'hg pull --rev name --update' (issue4706)
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
16913
diff
changeset
|
129 | user: test |
9263f86b9681
pull: avoid race condition with 'hg pull --rev name --update' (issue4706)
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
16913
diff
changeset
|
130 | date: Thu Jan 01 00:00:00 1970 +0000 |
9263f86b9681
pull: avoid race condition with 'hg pull --rev name --update' (issue4706)
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
16913
diff
changeset
|
131 | summary: add bar |
9263f86b9681
pull: avoid race condition with 'hg pull --rev name --update' (issue4706)
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
16913
diff
changeset
|
132 | |
9263f86b9681
pull: avoid race condition with 'hg pull --rev name --update' (issue4706)
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
16913
diff
changeset
|
133 | o changeset: 1:ed1b79f46b9a |
9263f86b9681
pull: avoid race condition with 'hg pull --rev name --update' (issue4706)
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
16913
diff
changeset
|
134 |/ user: test |
9263f86b9681
pull: avoid race condition with 'hg pull --rev name --update' (issue4706)
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
16913
diff
changeset
|
135 | date: Thu Jan 01 00:00:00 1970 +0000 |
9263f86b9681
pull: avoid race condition with 'hg pull --rev name --update' (issue4706)
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
16913
diff
changeset
|
136 | summary: change foo |
9263f86b9681
pull: avoid race condition with 'hg pull --rev name --update' (issue4706)
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
16913
diff
changeset
|
137 | |
9263f86b9681
pull: avoid race condition with 'hg pull --rev name --update' (issue4706)
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
16913
diff
changeset
|
138 o changeset: 0:bbd179dfa0a7 |
9263f86b9681
pull: avoid race condition with 'hg pull --rev name --update' (issue4706)
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
16913
diff
changeset
|
139 user: test |
9263f86b9681
pull: avoid race condition with 'hg pull --rev name --update' (issue4706)
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
16913
diff
changeset
|
140 date: Thu Jan 01 00:00:00 1970 +0000 |
9263f86b9681
pull: avoid race condition with 'hg pull --rev name --update' (issue4706)
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
16913
diff
changeset
|
141 summary: add foo |
9263f86b9681
pull: avoid race condition with 'hg pull --rev name --update' (issue4706)
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
16913
diff
changeset
|
142 |
9263f86b9681
pull: avoid race condition with 'hg pull --rev name --update' (issue4706)
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
16913
diff
changeset
|
143 |
16913
f2719b387380
tests: add missing trailing 'cd ..'
Mads Kiilerich <mads@kiilerich.com>
parents:
16107
diff
changeset
|
144 $ cd .. |