annotate tests/test-pull.t @ 33678:855a1856466d

tests: demonstrate crash when trying to rebase merge without its parents As the test case shows, when "hg rebase -d G -r 'B + D + F'" is run on the following graph, we crash with traceback. It's reasonable to fail because we can not easily produce a correct rebased F. The problem is what diff to apply to either the rebased B or the rebased D. We could potentially produce the result by e.g. applying the (F-D) diff to the rebased B and then applying the reverse (E-D) diff on top, but that could result in merge conflicts in each of those steps, which we don't have a way of dealing with. So for now, let's just add a test case to demonstrate that we crash (i.e. the AssertionError is clearly incorrect since the user can run into it). F /| C E | | B D G \|/ A Differential Revision: https://phab.mercurial-scm.org/D212
author Martin von Zweigbergk <martinvonz@google.com>
date Fri, 14 Jul 2017 14:30:55 -0700
parents 5e92ba77793c
children 92b583e3e522
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
22046
7a9cbb315d84 tests: replace exit 80 with #require
Matt Mackall <mpm@selenic.com>
parents: 17486
diff changeset
1 #require serve
15446
c5c9ca3719f9 tests: use 'hghave serve' to guard tests that requires serve daemon management
Mads Kiilerich <mads@kiilerich.com>
parents: 13956
diff changeset
2
13956
ffb5c09ba822 tests: remove redundant mkdir
Martin Geisler <mg@lazybytes.net>
parents: 13826
diff changeset
3 $ hg init test
12279
28e2e3804f2e combine tests
Adrian Buehlmann <adrian@cadifra.com>
parents: 10886
diff changeset
4 $ cd test
28e2e3804f2e combine tests
Adrian Buehlmann <adrian@cadifra.com>
parents: 10886
diff changeset
5
28e2e3804f2e combine tests
Adrian Buehlmann <adrian@cadifra.com>
parents: 10886
diff changeset
6 $ echo foo>foo
28e2e3804f2e combine tests
Adrian Buehlmann <adrian@cadifra.com>
parents: 10886
diff changeset
7 $ hg addremove
28e2e3804f2e combine tests
Adrian Buehlmann <adrian@cadifra.com>
parents: 10886
diff changeset
8 adding foo
28e2e3804f2e combine tests
Adrian Buehlmann <adrian@cadifra.com>
parents: 10886
diff changeset
9 $ hg commit -m 1
28e2e3804f2e combine tests
Adrian Buehlmann <adrian@cadifra.com>
parents: 10886
diff changeset
10
28e2e3804f2e combine tests
Adrian Buehlmann <adrian@cadifra.com>
parents: 10886
diff changeset
11 $ hg verify
28e2e3804f2e combine tests
Adrian Buehlmann <adrian@cadifra.com>
parents: 10886
diff changeset
12 checking changesets
28e2e3804f2e combine tests
Adrian Buehlmann <adrian@cadifra.com>
parents: 10886
diff changeset
13 checking manifests
28e2e3804f2e combine tests
Adrian Buehlmann <adrian@cadifra.com>
parents: 10886
diff changeset
14 crosschecking files in changesets and manifests
28e2e3804f2e combine tests
Adrian Buehlmann <adrian@cadifra.com>
parents: 10886
diff changeset
15 checking files
28e2e3804f2e combine tests
Adrian Buehlmann <adrian@cadifra.com>
parents: 10886
diff changeset
16 1 files, 1 changesets, 1 total revisions
336
aa6cbde09f72 Add some more tests
mpm@selenic.com
parents:
diff changeset
17
12279
28e2e3804f2e combine tests
Adrian Buehlmann <adrian@cadifra.com>
parents: 10886
diff changeset
18 $ hg serve -p $HGPORT -d --pid-file=hg.pid
28e2e3804f2e combine tests
Adrian Buehlmann <adrian@cadifra.com>
parents: 10886
diff changeset
19 $ cat hg.pid >> $DAEMON_PIDS
28e2e3804f2e combine tests
Adrian Buehlmann <adrian@cadifra.com>
parents: 10886
diff changeset
20 $ cd ..
28e2e3804f2e combine tests
Adrian Buehlmann <adrian@cadifra.com>
parents: 10886
diff changeset
21
12366
c01dc9087d9a tests: drop a bunch of sed calls from unified tests
Matt Mackall <mpm@selenic.com>
parents: 12328
diff changeset
22 $ hg clone --pull http://foo:bar@localhost:$HGPORT/ copy
12279
28e2e3804f2e combine tests
Adrian Buehlmann <adrian@cadifra.com>
parents: 10886
diff changeset
23 requesting all changes
28e2e3804f2e combine tests
Adrian Buehlmann <adrian@cadifra.com>
parents: 10886
diff changeset
24 adding changesets
28e2e3804f2e combine tests
Adrian Buehlmann <adrian@cadifra.com>
parents: 10886
diff changeset
25 adding manifests
28e2e3804f2e combine tests
Adrian Buehlmann <adrian@cadifra.com>
parents: 10886
diff changeset
26 adding file changes
28e2e3804f2e combine tests
Adrian Buehlmann <adrian@cadifra.com>
parents: 10886
diff changeset
27 added 1 changesets with 1 changes to 1 files
28e2e3804f2e combine tests
Adrian Buehlmann <adrian@cadifra.com>
parents: 10886
diff changeset
28 updating to branch default
28e2e3804f2e combine tests
Adrian Buehlmann <adrian@cadifra.com>
parents: 10886
diff changeset
29 1 files updated, 0 files merged, 0 files removed, 0 files unresolved
28e2e3804f2e combine tests
Adrian Buehlmann <adrian@cadifra.com>
parents: 10886
diff changeset
30
28e2e3804f2e combine tests
Adrian Buehlmann <adrian@cadifra.com>
parents: 10886
diff changeset
31 $ cd copy
28e2e3804f2e combine tests
Adrian Buehlmann <adrian@cadifra.com>
parents: 10886
diff changeset
32 $ hg verify
28e2e3804f2e combine tests
Adrian Buehlmann <adrian@cadifra.com>
parents: 10886
diff changeset
33 checking changesets
28e2e3804f2e combine tests
Adrian Buehlmann <adrian@cadifra.com>
parents: 10886
diff changeset
34 checking manifests
28e2e3804f2e combine tests
Adrian Buehlmann <adrian@cadifra.com>
parents: 10886
diff changeset
35 crosschecking files in changesets and manifests
28e2e3804f2e combine tests
Adrian Buehlmann <adrian@cadifra.com>
parents: 10886
diff changeset
36 checking files
28e2e3804f2e combine tests
Adrian Buehlmann <adrian@cadifra.com>
parents: 10886
diff changeset
37 1 files, 1 changesets, 1 total revisions
336
aa6cbde09f72 Add some more tests
mpm@selenic.com
parents:
diff changeset
38
12279
28e2e3804f2e combine tests
Adrian Buehlmann <adrian@cadifra.com>
parents: 10886
diff changeset
39 $ hg co
28e2e3804f2e combine tests
Adrian Buehlmann <adrian@cadifra.com>
parents: 10886
diff changeset
40 0 files updated, 0 files merged, 0 files removed, 0 files unresolved
28e2e3804f2e combine tests
Adrian Buehlmann <adrian@cadifra.com>
parents: 10886
diff changeset
41 $ cat foo
28e2e3804f2e combine tests
Adrian Buehlmann <adrian@cadifra.com>
parents: 10886
diff changeset
42 foo
28e2e3804f2e combine tests
Adrian Buehlmann <adrian@cadifra.com>
parents: 10886
diff changeset
43
28e2e3804f2e combine tests
Adrian Buehlmann <adrian@cadifra.com>
parents: 10886
diff changeset
44 $ hg manifest --debug
28e2e3804f2e combine tests
Adrian Buehlmann <adrian@cadifra.com>
parents: 10886
diff changeset
45 2ed2a3912a0b24502043eae84ee4b279c18b90dd 644 foo
28e2e3804f2e combine tests
Adrian Buehlmann <adrian@cadifra.com>
parents: 10886
diff changeset
46
12366
c01dc9087d9a tests: drop a bunch of sed calls from unified tests
Matt Mackall <mpm@selenic.com>
parents: 12328
diff changeset
47 $ hg pull
15552
62c9183a0bbb clone: don't save user's password in .hg/hgrc (Issue3122)
Augie Fackler <durin42@gmail.com>
parents: 13956
diff changeset
48 pulling from http://foo@localhost:$HGPORT/
12279
28e2e3804f2e combine tests
Adrian Buehlmann <adrian@cadifra.com>
parents: 10886
diff changeset
49 searching for changes
28e2e3804f2e combine tests
Adrian Buehlmann <adrian@cadifra.com>
parents: 10886
diff changeset
50 no changes found
28e2e3804f2e combine tests
Adrian Buehlmann <adrian@cadifra.com>
parents: 10886
diff changeset
51
12366
c01dc9087d9a tests: drop a bunch of sed calls from unified tests
Matt Mackall <mpm@selenic.com>
parents: 12328
diff changeset
52 $ hg rollback --dry-run --verbose
13446
1e497df514e2 rollback: clarifies the message about the reverted state (issue2628)
Gilles Moris <gilles.moris@free.fr>
parents: 12643
diff changeset
53 repository tip rolled back to revision -1 (undo pull: http://foo:***@localhost:$HGPORT/)
12279
28e2e3804f2e combine tests
Adrian Buehlmann <adrian@cadifra.com>
parents: 10886
diff changeset
54
26604
a3fcc8e3136b context: don't hex encode all unknown 20 char revision specs (issue4890)
Mads Kiilerich <madski@unity3d.com>
parents: 24205
diff changeset
55 Test pull of non-existing 20 character revision specification, making sure plain ascii identifiers
a3fcc8e3136b context: don't hex encode all unknown 20 char revision specs (issue4890)
Mads Kiilerich <madski@unity3d.com>
parents: 24205
diff changeset
56 not are encoded like a node:
a3fcc8e3136b context: don't hex encode all unknown 20 char revision specs (issue4890)
Mads Kiilerich <madski@unity3d.com>
parents: 24205
diff changeset
57
a3fcc8e3136b context: don't hex encode all unknown 20 char revision specs (issue4890)
Mads Kiilerich <madski@unity3d.com>
parents: 24205
diff changeset
58 $ hg pull -r 'xxxxxxxxxxxxxxxxxxxy'
a3fcc8e3136b context: don't hex encode all unknown 20 char revision specs (issue4890)
Mads Kiilerich <madski@unity3d.com>
parents: 24205
diff changeset
59 pulling from http://foo@localhost:$HGPORT/
a3fcc8e3136b context: don't hex encode all unknown 20 char revision specs (issue4890)
Mads Kiilerich <madski@unity3d.com>
parents: 24205
diff changeset
60 abort: unknown revision 'xxxxxxxxxxxxxxxxxxxy'!
a3fcc8e3136b context: don't hex encode all unknown 20 char revision specs (issue4890)
Mads Kiilerich <madski@unity3d.com>
parents: 24205
diff changeset
61 [255]
a3fcc8e3136b context: don't hex encode all unknown 20 char revision specs (issue4890)
Mads Kiilerich <madski@unity3d.com>
parents: 24205
diff changeset
62 $ hg pull -r 'xxxxxxxxxxxxxxxxxx y'
a3fcc8e3136b context: don't hex encode all unknown 20 char revision specs (issue4890)
Mads Kiilerich <madski@unity3d.com>
parents: 24205
diff changeset
63 pulling from http://foo@localhost:$HGPORT/
a3fcc8e3136b context: don't hex encode all unknown 20 char revision specs (issue4890)
Mads Kiilerich <madski@unity3d.com>
parents: 24205
diff changeset
64 abort: unknown revision '7878787878787878787878787878787878782079'!
a3fcc8e3136b context: don't hex encode all unknown 20 char revision specs (issue4890)
Mads Kiilerich <madski@unity3d.com>
parents: 24205
diff changeset
65 [255]
a3fcc8e3136b context: don't hex encode all unknown 20 char revision specs (issue4890)
Mads Kiilerich <madski@unity3d.com>
parents: 24205
diff changeset
66
12399
4fee1fd3de9a tests: added a short description to issue numbers
Martin Geisler <mg@aragost.com>
parents: 12377
diff changeset
67 Issue622: hg init && hg pull -u URL doesn't checkout default branch
4891
2d545b98a7bc issue 622: pull/unbundle -u updates to default branch if repo was empty
Bryan O'Sullivan <bos@serpentine.com>
parents: 3736
diff changeset
68
12279
28e2e3804f2e combine tests
Adrian Buehlmann <adrian@cadifra.com>
parents: 10886
diff changeset
69 $ cd ..
28e2e3804f2e combine tests
Adrian Buehlmann <adrian@cadifra.com>
parents: 10886
diff changeset
70 $ hg init empty
28e2e3804f2e combine tests
Adrian Buehlmann <adrian@cadifra.com>
parents: 10886
diff changeset
71 $ cd empty
28e2e3804f2e combine tests
Adrian Buehlmann <adrian@cadifra.com>
parents: 10886
diff changeset
72 $ hg pull -u ../test
28e2e3804f2e combine tests
Adrian Buehlmann <adrian@cadifra.com>
parents: 10886
diff changeset
73 pulling from ../test
28e2e3804f2e combine tests
Adrian Buehlmann <adrian@cadifra.com>
parents: 10886
diff changeset
74 requesting all changes
28e2e3804f2e combine tests
Adrian Buehlmann <adrian@cadifra.com>
parents: 10886
diff changeset
75 adding changesets
28e2e3804f2e combine tests
Adrian Buehlmann <adrian@cadifra.com>
parents: 10886
diff changeset
76 adding manifests
28e2e3804f2e combine tests
Adrian Buehlmann <adrian@cadifra.com>
parents: 10886
diff changeset
77 adding file changes
28e2e3804f2e combine tests
Adrian Buehlmann <adrian@cadifra.com>
parents: 10886
diff changeset
78 added 1 changesets with 1 changes to 1 files
28e2e3804f2e combine tests
Adrian Buehlmann <adrian@cadifra.com>
parents: 10886
diff changeset
79 1 files updated, 0 files merged, 0 files removed, 0 files unresolved
9996
2770d03ae49f handle file URIs correctly, according to RFC 2396 (issue1153)
Sune Foldager <cryo@cyanite.org>
parents: 5384
diff changeset
80
12279
28e2e3804f2e combine tests
Adrian Buehlmann <adrian@cadifra.com>
parents: 10886
diff changeset
81 Test 'file:' uri handling:
28e2e3804f2e combine tests
Adrian Buehlmann <adrian@cadifra.com>
parents: 10886
diff changeset
82
17486
73e3e368bd42 spelling: doesn't/does not
timeless@mozdev.org
parents: 16913
diff changeset
83 $ hg pull -q file://../test-does-not-exist
13823
ad179644750f hg: look up schemes using url.url
Brodie Rao <brodie@bitheap.org>
parents: 13817
diff changeset
84 abort: file:// URLs can only refer to localhost
12316
4134686b83e1 tests: add exit codes to unified tests
Matt Mackall <mpm@selenic.com>
parents: 12279
diff changeset
85 [255]
12279
28e2e3804f2e combine tests
Adrian Buehlmann <adrian@cadifra.com>
parents: 10886
diff changeset
86
13826
e574207e3bcd url: refactor util.drop_scheme() and hg.localpath() into url.localpath()
Brodie Rao <brodie@bitheap.org>
parents: 13823
diff changeset
87 $ hg pull -q file://../test
e574207e3bcd url: refactor util.drop_scheme() and hg.localpath() into url.localpath()
Brodie Rao <brodie@bitheap.org>
parents: 13823
diff changeset
88 abort: file:// URLs can only refer to localhost
e574207e3bcd url: refactor util.drop_scheme() and hg.localpath() into url.localpath()
Brodie Rao <brodie@bitheap.org>
parents: 13823
diff changeset
89 [255]
e574207e3bcd url: refactor util.drop_scheme() and hg.localpath() into url.localpath()
Brodie Rao <brodie@bitheap.org>
parents: 13823
diff changeset
90
31771
5e92ba77793c test-serve: disable unfixable tests on Windows
Matt Harbison <matt_harbison@yahoo.com>
parents: 26604
diff changeset
91 MSYS changes 'file:' into 'file;'
5e92ba77793c test-serve: disable unfixable tests on Windows
Matt Harbison <matt_harbison@yahoo.com>
parents: 26604
diff changeset
92
5e92ba77793c test-serve: disable unfixable tests on Windows
Matt Harbison <matt_harbison@yahoo.com>
parents: 26604
diff changeset
93 #if no-msys
24205
abcb1ee3b20a check-code: allow disabling msys path check
Matt Mackall <mpm@selenic.com>
parents: 22947
diff changeset
94 $ hg pull -q file:../test # no-msys
31771
5e92ba77793c test-serve: disable unfixable tests on Windows
Matt Harbison <matt_harbison@yahoo.com>
parents: 26604
diff changeset
95 #endif
12279
28e2e3804f2e combine tests
Adrian Buehlmann <adrian@cadifra.com>
parents: 10886
diff changeset
96
12328
b63f6422d2a7 tests: fix a bunch of pointless #s in unified tests
Matt Mackall <mpm@selenic.com>
parents: 12316
diff changeset
97 It's tricky to make file:// URLs working on every platform with
b63f6422d2a7 tests: fix a bunch of pointless #s in unified tests
Matt Mackall <mpm@selenic.com>
parents: 12316
diff changeset
98 regular shell commands.
12279
28e2e3804f2e combine tests
Adrian Buehlmann <adrian@cadifra.com>
parents: 10886
diff changeset
99
22947
c63a09b6b337 tests: use $PYTHON instead of hardcoding python
Augie Fackler <raf@durin42.com>
parents: 22046
diff changeset
100 $ URL=`$PYTHON -c "import os; print 'file://foobar' + ('/' + os.getcwd().replace(os.sep, '/')).replace('//', '/') + '/../test'"`
12279
28e2e3804f2e combine tests
Adrian Buehlmann <adrian@cadifra.com>
parents: 10886
diff changeset
101 $ hg pull -q "$URL"
13817
7f18bab2c0b0 url: abort on file:// URLs with non-localhost hosts
Brodie Rao <brodie@bitheap.org>
parents: 13446
diff changeset
102 abort: file:// URLs can only refer to localhost
7f18bab2c0b0 url: abort on file:// URLs with non-localhost hosts
Brodie Rao <brodie@bitheap.org>
parents: 13446
diff changeset
103 [255]
12279
28e2e3804f2e combine tests
Adrian Buehlmann <adrian@cadifra.com>
parents: 10886
diff changeset
104
22947
c63a09b6b337 tests: use $PYTHON instead of hardcoding python
Augie Fackler <raf@durin42.com>
parents: 22046
diff changeset
105 $ URL=`$PYTHON -c "import os; print 'file://localhost' + ('/' + os.getcwd().replace(os.sep, '/')).replace('//', '/') + '/../test'"`
13817
7f18bab2c0b0 url: abort on file:// URLs with non-localhost hosts
Brodie Rao <brodie@bitheap.org>
parents: 13446
diff changeset
106 $ hg pull -q "$URL"
16913
f2719b387380 tests: add missing trailing 'cd ..'
Mads Kiilerich <mads@kiilerich.com>
parents: 16107
diff changeset
107
f2719b387380 tests: add missing trailing 'cd ..'
Mads Kiilerich <mads@kiilerich.com>
parents: 16107
diff changeset
108 $ cd ..