annotate tests/test-pull-r.t @ 18944:a9c443b3b240

unionrepo: read-only operations on a union of two localrepos unionrepo is just like bundlerepo without bundles. The implementation is very similar to bundlerepo, but I don't see any obvious way to generalize it. Some most obvious use cases for this would be log and diff across local repos, as a kind of preview of pulls, for instance: $ hg -R union:repo1+repo2 heads $ hg -R union:repo1+repo2 log -r REPO1REV -r REPO2REV $ hg -R union:repo1+repo2 log -r '::REPO1REV-::REPO2REV' $ hg -R union:repo1+repo2 log -r 'ancestor(REPO1REV,REPO2REV)' $ hg -R union:repo1+repo2 diff -r REPO1REV -r REPO2REV This is going to be used in RhodeCode, and Bitbucket already uses something similar. Having a core implementation would be beneficial.
author Mads Kiilerich <madski@unity3d.com>
date Fri, 18 Jan 2013 15:54:09 +0100
parents f2719b387380
children 9263f86b9681
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
12279
28e2e3804f2e combine tests
Adrian Buehlmann <adrian@cadifra.com>
parents: 10358
diff changeset
1 $ hg init repo
28e2e3804f2e combine tests
Adrian Buehlmann <adrian@cadifra.com>
parents: 10358
diff changeset
2 $ cd repo
28e2e3804f2e combine tests
Adrian Buehlmann <adrian@cadifra.com>
parents: 10358
diff changeset
3 $ echo foo > foo
28e2e3804f2e combine tests
Adrian Buehlmann <adrian@cadifra.com>
parents: 10358
diff changeset
4 $ hg ci -qAm 'add foo'
28e2e3804f2e combine tests
Adrian Buehlmann <adrian@cadifra.com>
parents: 10358
diff changeset
5 $ echo >> foo
28e2e3804f2e combine tests
Adrian Buehlmann <adrian@cadifra.com>
parents: 10358
diff changeset
6 $ hg ci -m 'change foo'
28e2e3804f2e combine tests
Adrian Buehlmann <adrian@cadifra.com>
parents: 10358
diff changeset
7 $ hg up -qC 0
28e2e3804f2e combine tests
Adrian Buehlmann <adrian@cadifra.com>
parents: 10358
diff changeset
8 $ echo bar > bar
28e2e3804f2e combine tests
Adrian Buehlmann <adrian@cadifra.com>
parents: 10358
diff changeset
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
28e2e3804f2e combine tests
Adrian Buehlmann <adrian@cadifra.com>
parents: 10358
diff changeset
11 $ hg log
28e2e3804f2e combine tests
Adrian Buehlmann <adrian@cadifra.com>
parents: 10358
diff changeset
12 changeset: 2:effea6de0384
28e2e3804f2e combine tests
Adrian Buehlmann <adrian@cadifra.com>
parents: 10358
diff changeset
13 tag: tip
28e2e3804f2e combine tests
Adrian Buehlmann <adrian@cadifra.com>
parents: 10358
diff changeset
14 parent: 0:bbd179dfa0a7
28e2e3804f2e combine tests
Adrian Buehlmann <adrian@cadifra.com>
parents: 10358
diff changeset
15 user: test
28e2e3804f2e combine tests
Adrian Buehlmann <adrian@cadifra.com>
parents: 10358
diff changeset
16 date: Thu Jan 01 00:00:00 1970 +0000
28e2e3804f2e combine tests
Adrian Buehlmann <adrian@cadifra.com>
parents: 10358
diff changeset
17 summary: add bar
28e2e3804f2e combine tests
Adrian Buehlmann <adrian@cadifra.com>
parents: 10358
diff changeset
18
28e2e3804f2e combine tests
Adrian Buehlmann <adrian@cadifra.com>
parents: 10358
diff changeset
19 changeset: 1:ed1b79f46b9a
28e2e3804f2e combine tests
Adrian Buehlmann <adrian@cadifra.com>
parents: 10358
diff changeset
20 user: test
28e2e3804f2e combine tests
Adrian Buehlmann <adrian@cadifra.com>
parents: 10358
diff changeset
21 date: Thu Jan 01 00:00:00 1970 +0000
28e2e3804f2e combine tests
Adrian Buehlmann <adrian@cadifra.com>
parents: 10358
diff changeset
22 summary: change foo
28e2e3804f2e combine tests
Adrian Buehlmann <adrian@cadifra.com>
parents: 10358
diff changeset
23
28e2e3804f2e combine tests
Adrian Buehlmann <adrian@cadifra.com>
parents: 10358
diff changeset
24 changeset: 0:bbd179dfa0a7
28e2e3804f2e combine tests
Adrian Buehlmann <adrian@cadifra.com>
parents: 10358
diff changeset
25 user: test
28e2e3804f2e combine tests
Adrian Buehlmann <adrian@cadifra.com>
parents: 10358
diff changeset
26 date: Thu Jan 01 00:00:00 1970 +0000
28e2e3804f2e combine tests
Adrian Buehlmann <adrian@cadifra.com>
parents: 10358
diff changeset
27 summary: add foo
28e2e3804f2e combine tests
Adrian Buehlmann <adrian@cadifra.com>
parents: 10358
diff changeset
28
28e2e3804f2e combine tests
Adrian Buehlmann <adrian@cadifra.com>
parents: 10358
diff changeset
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
28e2e3804f2e combine tests
Adrian Buehlmann <adrian@cadifra.com>
parents: 10358
diff changeset
60 $ hg init copy
28e2e3804f2e combine tests
Adrian Buehlmann <adrian@cadifra.com>
parents: 10358
diff changeset
61 $ cd copy
28e2e3804f2e combine tests
Adrian Buehlmann <adrian@cadifra.com>
parents: 10358
diff changeset
62
28e2e3804f2e combine tests
Adrian Buehlmann <adrian@cadifra.com>
parents: 10358
diff changeset
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
28e2e3804f2e combine tests
Adrian Buehlmann <adrian@cadifra.com>
parents: 10358
diff changeset
65 $ hg pull -qr missing ../repo
28e2e3804f2e combine tests
Adrian Buehlmann <adrian@cadifra.com>
parents: 10358
diff changeset
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
28e2e3804f2e combine tests
Adrian Buehlmann <adrian@cadifra.com>
parents: 10358
diff changeset
68
28e2e3804f2e combine tests
Adrian Buehlmann <adrian@cadifra.com>
parents: 10358
diff changeset
69 Pull multiple revisions with update:
6405
b8346ae5d64b commands: fix shadowed repo module
Patrick Mezard <pmezard@gmail.com>
parents: 5221
diff changeset
70
12279
28e2e3804f2e combine tests
Adrian Buehlmann <adrian@cadifra.com>
parents: 10358
diff changeset
71 $ hg pull -qu -r 0 -r 1 ../repo
28e2e3804f2e combine tests
Adrian Buehlmann <adrian@cadifra.com>
parents: 10358
diff changeset
72 $ hg -q parents
28e2e3804f2e combine tests
Adrian Buehlmann <adrian@cadifra.com>
parents: 10358
diff changeset
73 0:bbd179dfa0a7
28e2e3804f2e combine tests
Adrian Buehlmann <adrian@cadifra.com>
parents: 10358
diff changeset
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
28e2e3804f2e combine tests
Adrian Buehlmann <adrian@cadifra.com>
parents: 10358
diff changeset
78 $ hg pull -qr 0 ../repo
28e2e3804f2e combine tests
Adrian Buehlmann <adrian@cadifra.com>
parents: 10358
diff changeset
79 $ hg log
28e2e3804f2e combine tests
Adrian Buehlmann <adrian@cadifra.com>
parents: 10358
diff changeset
80 changeset: 0:bbd179dfa0a7
28e2e3804f2e combine tests
Adrian Buehlmann <adrian@cadifra.com>
parents: 10358
diff changeset
81 tag: tip
28e2e3804f2e combine tests
Adrian Buehlmann <adrian@cadifra.com>
parents: 10358
diff changeset
82 user: test
28e2e3804f2e combine tests
Adrian Buehlmann <adrian@cadifra.com>
parents: 10358
diff changeset
83 date: Thu Jan 01 00:00:00 1970 +0000
28e2e3804f2e combine tests
Adrian Buehlmann <adrian@cadifra.com>
parents: 10358
diff changeset
84 summary: add foo
28e2e3804f2e combine tests
Adrian Buehlmann <adrian@cadifra.com>
parents: 10358
diff changeset
85
28e2e3804f2e combine tests
Adrian Buehlmann <adrian@cadifra.com>
parents: 10358
diff changeset
86 $ hg pull -qr 1 ../repo
28e2e3804f2e combine tests
Adrian Buehlmann <adrian@cadifra.com>
parents: 10358
diff changeset
87 $ hg log
28e2e3804f2e combine tests
Adrian Buehlmann <adrian@cadifra.com>
parents: 10358
diff changeset
88 changeset: 1:ed1b79f46b9a
28e2e3804f2e combine tests
Adrian Buehlmann <adrian@cadifra.com>
parents: 10358
diff changeset
89 tag: tip
28e2e3804f2e combine tests
Adrian Buehlmann <adrian@cadifra.com>
parents: 10358
diff changeset
90 user: test
28e2e3804f2e combine tests
Adrian Buehlmann <adrian@cadifra.com>
parents: 10358
diff changeset
91 date: Thu Jan 01 00:00:00 1970 +0000
28e2e3804f2e combine tests
Adrian Buehlmann <adrian@cadifra.com>
parents: 10358
diff changeset
92 summary: change foo
28e2e3804f2e combine tests
Adrian Buehlmann <adrian@cadifra.com>
parents: 10358
diff changeset
93
28e2e3804f2e combine tests
Adrian Buehlmann <adrian@cadifra.com>
parents: 10358
diff changeset
94 changeset: 0:bbd179dfa0a7
28e2e3804f2e combine tests
Adrian Buehlmann <adrian@cadifra.com>
parents: 10358
diff changeset
95 user: test
28e2e3804f2e combine tests
Adrian Buehlmann <adrian@cadifra.com>
parents: 10358
diff changeset
96 date: Thu Jan 01 00:00:00 1970 +0000
28e2e3804f2e combine tests
Adrian Buehlmann <adrian@cadifra.com>
parents: 10358
diff changeset
97 summary: add foo
28e2e3804f2e combine tests
Adrian Buehlmann <adrian@cadifra.com>
parents: 10358
diff changeset
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
28e2e3804f2e combine tests
Adrian Buehlmann <adrian@cadifra.com>
parents: 10358
diff changeset
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
28e2e3804f2e combine tests
Adrian Buehlmann <adrian@cadifra.com>
parents: 10358
diff changeset
102 $ hg pull -qr 1 ../repo
28e2e3804f2e combine tests
Adrian Buehlmann <adrian@cadifra.com>
parents: 10358
diff changeset
103
16913
f2719b387380 tests: add missing trailing 'cd ..'
Mads Kiilerich <mads@kiilerich.com>
parents: 16107
diff changeset
104 $ cd ..