annotate tests/test-import-bypass.t @ 16853:7863ff383894

help: format command and option list help using RST This patch changes the function which generates help text about commands and options to use RST formatting. Tables describing options have been formatted using RST table markup for some time already, so their appearance does not change. Command lists, however, change appearance. To format non-verbose command lists, RST field list markup was chosen, because it resembles the old format: <http://docutils.sourceforge.net/docs/user/rst/quickref.html#field-lists> In the old (hand-coded) format of non-verbose command lists, the left column is 12 characters wide. Our minirst implementation formats field lists with a left column 14 characters wide, so this patch changes the appearance of help output correspondingly: <http://markmail.org/message/krl4cxopsnii7s6z?q=mercurial+reinert+from:%22Olav+Reinert%22&page=2> The minirst markup most closely resembling the old verbose command lists is definition lists. But using it would cause a blank line to be inserted between each command definition, making the output excessively long, and no more useful than before. To avoid this, I chose to use field lists also for verbose command help, resulting in output like this example: add add the specified files on the next commit annotate, blame show changeset information by line for each file clone make a copy of an existing repository commit, ci commit the specified files or all outstanding changes diff diff repository (or selected files) export dump the header and diffs for one or more changesets forget forget the specified files on the next commit init create a new repository in the given directory log, history show revision history of entire repository or files merge merge working directory with another revision phase set or show the current phase name pull pull changes from the specified source push push changes to the specified destination qdiff diff of the current patch and subsequent modifications qinit init a new queue repository (DEPRECATED) qnew create a new patch qpop pop the current patch off the stack qpush push the next patch onto the stack qrefresh update the current patch remove, rm remove the specified files on the next commit serve start stand-alone webserver status, st show changed files in the working directory summary, sum summarize working directory state update, up, checkout, co update working directory (or switch revisions) This change is a move towards generating all help text as a list of strings marked up with RST.
author Olav Reinert <seroton10@gmail.com>
date Sat, 02 Jun 2012 11:25:40 +0200
parents 0e0060bf2f44
children 8149ff405c78
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
15442
db0340f4b507 tests: use 'hghave execbit' for tests that manipulate x bit in file system
Mads Kiilerich <mads@kiilerich.com>
parents: 15441
diff changeset
1 $ "$TESTDIR/hghave" symlink execbit || exit 80
15441
e0348815e806 tests: use 'hghave symlink' for tests using symlinks
Mads Kiilerich <mads@kiilerich.com>
parents: 15198
diff changeset
2
14611
adbf5e7df96d import: add --bypass option
Patrick Mezard <pmezard@gmail.com>
parents:
diff changeset
3 $ echo "[extensions]" >> $HGRCPATH
adbf5e7df96d import: add --bypass option
Patrick Mezard <pmezard@gmail.com>
parents:
diff changeset
4 $ echo "purge=" >> $HGRCPATH
adbf5e7df96d import: add --bypass option
Patrick Mezard <pmezard@gmail.com>
parents:
diff changeset
5 $ echo "graphlog=" >> $HGRCPATH
adbf5e7df96d import: add --bypass option
Patrick Mezard <pmezard@gmail.com>
parents:
diff changeset
6
adbf5e7df96d import: add --bypass option
Patrick Mezard <pmezard@gmail.com>
parents:
diff changeset
7 $ shortlog() {
adbf5e7df96d import: add --bypass option
Patrick Mezard <pmezard@gmail.com>
parents:
diff changeset
8 > hg glog --template '{rev}:{node|short} {author} {date|hgdate} - {branch} - {desc|firstline}\n'
adbf5e7df96d import: add --bypass option
Patrick Mezard <pmezard@gmail.com>
parents:
diff changeset
9 > }
adbf5e7df96d import: add --bypass option
Patrick Mezard <pmezard@gmail.com>
parents:
diff changeset
10
adbf5e7df96d import: add --bypass option
Patrick Mezard <pmezard@gmail.com>
parents:
diff changeset
11 Test --bypass with other options
adbf5e7df96d import: add --bypass option
Patrick Mezard <pmezard@gmail.com>
parents:
diff changeset
12
adbf5e7df96d import: add --bypass option
Patrick Mezard <pmezard@gmail.com>
parents:
diff changeset
13 $ hg init repo-options
adbf5e7df96d import: add --bypass option
Patrick Mezard <pmezard@gmail.com>
parents:
diff changeset
14 $ cd repo-options
adbf5e7df96d import: add --bypass option
Patrick Mezard <pmezard@gmail.com>
parents:
diff changeset
15 $ echo a > a
adbf5e7df96d import: add --bypass option
Patrick Mezard <pmezard@gmail.com>
parents:
diff changeset
16 $ hg ci -Am adda
adbf5e7df96d import: add --bypass option
Patrick Mezard <pmezard@gmail.com>
parents:
diff changeset
17 adding a
adbf5e7df96d import: add --bypass option
Patrick Mezard <pmezard@gmail.com>
parents:
diff changeset
18 $ echo a >> a
adbf5e7df96d import: add --bypass option
Patrick Mezard <pmezard@gmail.com>
parents:
diff changeset
19 $ hg branch foo
adbf5e7df96d import: add --bypass option
Patrick Mezard <pmezard@gmail.com>
parents:
diff changeset
20 marked working directory as branch foo
15615
41885892796e branch: warn on branching
Matt Mackall <mpm@selenic.com>
parents: 15198
diff changeset
21 (branches are permanent and global, did you want a bookmark?)
14611
adbf5e7df96d import: add --bypass option
Patrick Mezard <pmezard@gmail.com>
parents:
diff changeset
22 $ hg ci -Am changea
adbf5e7df96d import: add --bypass option
Patrick Mezard <pmezard@gmail.com>
parents:
diff changeset
23 $ hg export . > ../test.diff
adbf5e7df96d import: add --bypass option
Patrick Mezard <pmezard@gmail.com>
parents:
diff changeset
24 $ hg up null
adbf5e7df96d import: add --bypass option
Patrick Mezard <pmezard@gmail.com>
parents:
diff changeset
25 0 files updated, 0 files merged, 1 files removed, 0 files unresolved
adbf5e7df96d import: add --bypass option
Patrick Mezard <pmezard@gmail.com>
parents:
diff changeset
26
adbf5e7df96d import: add --bypass option
Patrick Mezard <pmezard@gmail.com>
parents:
diff changeset
27 Test importing an existing revision
adbf5e7df96d import: add --bypass option
Patrick Mezard <pmezard@gmail.com>
parents:
diff changeset
28
adbf5e7df96d import: add --bypass option
Patrick Mezard <pmezard@gmail.com>
parents:
diff changeset
29 $ hg import --bypass --exact ../test.diff
adbf5e7df96d import: add --bypass option
Patrick Mezard <pmezard@gmail.com>
parents:
diff changeset
30 applying ../test.diff
adbf5e7df96d import: add --bypass option
Patrick Mezard <pmezard@gmail.com>
parents:
diff changeset
31 $ shortlog
adbf5e7df96d import: add --bypass option
Patrick Mezard <pmezard@gmail.com>
parents:
diff changeset
32 o 1:4e322f7ce8e3 test 0 0 - foo - changea
adbf5e7df96d import: add --bypass option
Patrick Mezard <pmezard@gmail.com>
parents:
diff changeset
33 |
adbf5e7df96d import: add --bypass option
Patrick Mezard <pmezard@gmail.com>
parents:
diff changeset
34 o 0:07f494440405 test 0 0 - default - adda
adbf5e7df96d import: add --bypass option
Patrick Mezard <pmezard@gmail.com>
parents:
diff changeset
35
adbf5e7df96d import: add --bypass option
Patrick Mezard <pmezard@gmail.com>
parents:
diff changeset
36
adbf5e7df96d import: add --bypass option
Patrick Mezard <pmezard@gmail.com>
parents:
diff changeset
37 Test failure without --exact
adbf5e7df96d import: add --bypass option
Patrick Mezard <pmezard@gmail.com>
parents:
diff changeset
38
adbf5e7df96d import: add --bypass option
Patrick Mezard <pmezard@gmail.com>
parents:
diff changeset
39 $ hg import --bypass ../test.diff
adbf5e7df96d import: add --bypass option
Patrick Mezard <pmezard@gmail.com>
parents:
diff changeset
40 applying ../test.diff
adbf5e7df96d import: add --bypass option
Patrick Mezard <pmezard@gmail.com>
parents:
diff changeset
41 unable to find 'a' for patching
adbf5e7df96d import: add --bypass option
Patrick Mezard <pmezard@gmail.com>
parents:
diff changeset
42 abort: patch failed to apply
adbf5e7df96d import: add --bypass option
Patrick Mezard <pmezard@gmail.com>
parents:
diff changeset
43 [255]
adbf5e7df96d import: add --bypass option
Patrick Mezard <pmezard@gmail.com>
parents:
diff changeset
44 $ hg st
adbf5e7df96d import: add --bypass option
Patrick Mezard <pmezard@gmail.com>
parents:
diff changeset
45 $ shortlog
adbf5e7df96d import: add --bypass option
Patrick Mezard <pmezard@gmail.com>
parents:
diff changeset
46 o 1:4e322f7ce8e3 test 0 0 - foo - changea
adbf5e7df96d import: add --bypass option
Patrick Mezard <pmezard@gmail.com>
parents:
diff changeset
47 |
adbf5e7df96d import: add --bypass option
Patrick Mezard <pmezard@gmail.com>
parents:
diff changeset
48 o 0:07f494440405 test 0 0 - default - adda
adbf5e7df96d import: add --bypass option
Patrick Mezard <pmezard@gmail.com>
parents:
diff changeset
49
adbf5e7df96d import: add --bypass option
Patrick Mezard <pmezard@gmail.com>
parents:
diff changeset
50
adbf5e7df96d import: add --bypass option
Patrick Mezard <pmezard@gmail.com>
parents:
diff changeset
51 Test --user, --date and --message
adbf5e7df96d import: add --bypass option
Patrick Mezard <pmezard@gmail.com>
parents:
diff changeset
52
adbf5e7df96d import: add --bypass option
Patrick Mezard <pmezard@gmail.com>
parents:
diff changeset
53 $ hg up 0
adbf5e7df96d import: add --bypass option
Patrick Mezard <pmezard@gmail.com>
parents:
diff changeset
54 1 files updated, 0 files merged, 0 files removed, 0 files unresolved
adbf5e7df96d import: add --bypass option
Patrick Mezard <pmezard@gmail.com>
parents:
diff changeset
55 $ hg import --bypass --u test2 -d '1 0' -m patch2 ../test.diff
adbf5e7df96d import: add --bypass option
Patrick Mezard <pmezard@gmail.com>
parents:
diff changeset
56 applying ../test.diff
adbf5e7df96d import: add --bypass option
Patrick Mezard <pmezard@gmail.com>
parents:
diff changeset
57 $ cat .hg/last-message.txt
adbf5e7df96d import: add --bypass option
Patrick Mezard <pmezard@gmail.com>
parents:
diff changeset
58 patch2 (no-eol)
adbf5e7df96d import: add --bypass option
Patrick Mezard <pmezard@gmail.com>
parents:
diff changeset
59 $ shortlog
adbf5e7df96d import: add --bypass option
Patrick Mezard <pmezard@gmail.com>
parents:
diff changeset
60 o 2:2e127d1da504 test2 1 0 - default - patch2
adbf5e7df96d import: add --bypass option
Patrick Mezard <pmezard@gmail.com>
parents:
diff changeset
61 |
adbf5e7df96d import: add --bypass option
Patrick Mezard <pmezard@gmail.com>
parents:
diff changeset
62 | o 1:4e322f7ce8e3 test 0 0 - foo - changea
adbf5e7df96d import: add --bypass option
Patrick Mezard <pmezard@gmail.com>
parents:
diff changeset
63 |/
adbf5e7df96d import: add --bypass option
Patrick Mezard <pmezard@gmail.com>
parents:
diff changeset
64 @ 0:07f494440405 test 0 0 - default - adda
adbf5e7df96d import: add --bypass option
Patrick Mezard <pmezard@gmail.com>
parents:
diff changeset
65
15198
62dc0e7ab092 import: wrap a transaction around the whole command
Greg Ward <greg@gerg.ca>
parents: 15194
diff changeset
66 $ hg rollback
62dc0e7ab092 import: wrap a transaction around the whole command
Greg Ward <greg@gerg.ca>
parents: 15194
diff changeset
67 repository tip rolled back to revision 1 (undo import)
14611
adbf5e7df96d import: add --bypass option
Patrick Mezard <pmezard@gmail.com>
parents:
diff changeset
68
adbf5e7df96d import: add --bypass option
Patrick Mezard <pmezard@gmail.com>
parents:
diff changeset
69 Test --import-branch
adbf5e7df96d import: add --bypass option
Patrick Mezard <pmezard@gmail.com>
parents:
diff changeset
70
adbf5e7df96d import: add --bypass option
Patrick Mezard <pmezard@gmail.com>
parents:
diff changeset
71 $ hg import --bypass --import-branch ../test.diff
adbf5e7df96d import: add --bypass option
Patrick Mezard <pmezard@gmail.com>
parents:
diff changeset
72 applying ../test.diff
adbf5e7df96d import: add --bypass option
Patrick Mezard <pmezard@gmail.com>
parents:
diff changeset
73 $ shortlog
adbf5e7df96d import: add --bypass option
Patrick Mezard <pmezard@gmail.com>
parents:
diff changeset
74 o 1:4e322f7ce8e3 test 0 0 - foo - changea
adbf5e7df96d import: add --bypass option
Patrick Mezard <pmezard@gmail.com>
parents:
diff changeset
75 |
adbf5e7df96d import: add --bypass option
Patrick Mezard <pmezard@gmail.com>
parents:
diff changeset
76 @ 0:07f494440405 test 0 0 - default - adda
adbf5e7df96d import: add --bypass option
Patrick Mezard <pmezard@gmail.com>
parents:
diff changeset
77
15198
62dc0e7ab092 import: wrap a transaction around the whole command
Greg Ward <greg@gerg.ca>
parents: 15194
diff changeset
78 $ hg rollback
62dc0e7ab092 import: wrap a transaction around the whole command
Greg Ward <greg@gerg.ca>
parents: 15194
diff changeset
79 repository tip rolled back to revision 1 (undo import)
14611
adbf5e7df96d import: add --bypass option
Patrick Mezard <pmezard@gmail.com>
parents:
diff changeset
80
adbf5e7df96d import: add --bypass option
Patrick Mezard <pmezard@gmail.com>
parents:
diff changeset
81 Test --strip
adbf5e7df96d import: add --bypass option
Patrick Mezard <pmezard@gmail.com>
parents:
diff changeset
82
adbf5e7df96d import: add --bypass option
Patrick Mezard <pmezard@gmail.com>
parents:
diff changeset
83 $ hg import --bypass --strip 0 - <<EOF
adbf5e7df96d import: add --bypass option
Patrick Mezard <pmezard@gmail.com>
parents:
diff changeset
84 > # HG changeset patch
adbf5e7df96d import: add --bypass option
Patrick Mezard <pmezard@gmail.com>
parents:
diff changeset
85 > # User test
adbf5e7df96d import: add --bypass option
Patrick Mezard <pmezard@gmail.com>
parents:
diff changeset
86 > # Date 0 0
adbf5e7df96d import: add --bypass option
Patrick Mezard <pmezard@gmail.com>
parents:
diff changeset
87 > # Branch foo
adbf5e7df96d import: add --bypass option
Patrick Mezard <pmezard@gmail.com>
parents:
diff changeset
88 > # Node ID 4e322f7ce8e3e4203950eac9ece27bf7e45ffa6c
adbf5e7df96d import: add --bypass option
Patrick Mezard <pmezard@gmail.com>
parents:
diff changeset
89 > # Parent 07f4944404050f47db2e5c5071e0e84e7a27bba9
adbf5e7df96d import: add --bypass option
Patrick Mezard <pmezard@gmail.com>
parents:
diff changeset
90 > changea
adbf5e7df96d import: add --bypass option
Patrick Mezard <pmezard@gmail.com>
parents:
diff changeset
91 >
adbf5e7df96d import: add --bypass option
Patrick Mezard <pmezard@gmail.com>
parents:
diff changeset
92 > diff -r 07f494440405 -r 4e322f7ce8e3 a
adbf5e7df96d import: add --bypass option
Patrick Mezard <pmezard@gmail.com>
parents:
diff changeset
93 > --- a Thu Jan 01 00:00:00 1970 +0000
adbf5e7df96d import: add --bypass option
Patrick Mezard <pmezard@gmail.com>
parents:
diff changeset
94 > +++ a Thu Jan 01 00:00:00 1970 +0000
adbf5e7df96d import: add --bypass option
Patrick Mezard <pmezard@gmail.com>
parents:
diff changeset
95 > @@ -1,1 +1,2 @@
adbf5e7df96d import: add --bypass option
Patrick Mezard <pmezard@gmail.com>
parents:
diff changeset
96 > a
adbf5e7df96d import: add --bypass option
Patrick Mezard <pmezard@gmail.com>
parents:
diff changeset
97 > +a
adbf5e7df96d import: add --bypass option
Patrick Mezard <pmezard@gmail.com>
parents:
diff changeset
98 > EOF
adbf5e7df96d import: add --bypass option
Patrick Mezard <pmezard@gmail.com>
parents:
diff changeset
99 applying patch from stdin
15198
62dc0e7ab092 import: wrap a transaction around the whole command
Greg Ward <greg@gerg.ca>
parents: 15194
diff changeset
100 $ hg rollback
62dc0e7ab092 import: wrap a transaction around the whole command
Greg Ward <greg@gerg.ca>
parents: 15194
diff changeset
101 repository tip rolled back to revision 1 (undo import)
14611
adbf5e7df96d import: add --bypass option
Patrick Mezard <pmezard@gmail.com>
parents:
diff changeset
102
adbf5e7df96d import: add --bypass option
Patrick Mezard <pmezard@gmail.com>
parents:
diff changeset
103 Test unsupported combinations
adbf5e7df96d import: add --bypass option
Patrick Mezard <pmezard@gmail.com>
parents:
diff changeset
104
adbf5e7df96d import: add --bypass option
Patrick Mezard <pmezard@gmail.com>
parents:
diff changeset
105 $ hg import --bypass --no-commit ../test.diff
adbf5e7df96d import: add --bypass option
Patrick Mezard <pmezard@gmail.com>
parents:
diff changeset
106 abort: cannot use --no-commit with --bypass
adbf5e7df96d import: add --bypass option
Patrick Mezard <pmezard@gmail.com>
parents:
diff changeset
107 [255]
adbf5e7df96d import: add --bypass option
Patrick Mezard <pmezard@gmail.com>
parents:
diff changeset
108 $ hg import --bypass --similarity 50 ../test.diff
adbf5e7df96d import: add --bypass option
Patrick Mezard <pmezard@gmail.com>
parents:
diff changeset
109 abort: cannot use --similarity with --bypass
adbf5e7df96d import: add --bypass option
Patrick Mezard <pmezard@gmail.com>
parents:
diff changeset
110 [255]
adbf5e7df96d import: add --bypass option
Patrick Mezard <pmezard@gmail.com>
parents:
diff changeset
111
adbf5e7df96d import: add --bypass option
Patrick Mezard <pmezard@gmail.com>
parents:
diff changeset
112 Test commit editor
adbf5e7df96d import: add --bypass option
Patrick Mezard <pmezard@gmail.com>
parents:
diff changeset
113
16124
0e0060bf2f44 patch: fuzz more aggressively to match patch(1) behaviour
Patrick Mezard <patrick@mezard.eu>
parents: 15623
diff changeset
114 $ cat > ../test.diff <<EOF
0e0060bf2f44 patch: fuzz more aggressively to match patch(1) behaviour
Patrick Mezard <patrick@mezard.eu>
parents: 15623
diff changeset
115 > diff -r 07f494440405 -r 4e322f7ce8e3 a
0e0060bf2f44 patch: fuzz more aggressively to match patch(1) behaviour
Patrick Mezard <patrick@mezard.eu>
parents: 15623
diff changeset
116 > --- a/a Thu Jan 01 00:00:00 1970 +0000
0e0060bf2f44 patch: fuzz more aggressively to match patch(1) behaviour
Patrick Mezard <patrick@mezard.eu>
parents: 15623
diff changeset
117 > +++ b/a Thu Jan 01 00:00:00 1970 +0000
0e0060bf2f44 patch: fuzz more aggressively to match patch(1) behaviour
Patrick Mezard <patrick@mezard.eu>
parents: 15623
diff changeset
118 > @@ -1,1 +1,2 @@
0e0060bf2f44 patch: fuzz more aggressively to match patch(1) behaviour
Patrick Mezard <patrick@mezard.eu>
parents: 15623
diff changeset
119 > -a
0e0060bf2f44 patch: fuzz more aggressively to match patch(1) behaviour
Patrick Mezard <patrick@mezard.eu>
parents: 15623
diff changeset
120 > +b
0e0060bf2f44 patch: fuzz more aggressively to match patch(1) behaviour
Patrick Mezard <patrick@mezard.eu>
parents: 15623
diff changeset
121 > +c
0e0060bf2f44 patch: fuzz more aggressively to match patch(1) behaviour
Patrick Mezard <patrick@mezard.eu>
parents: 15623
diff changeset
122 > EOF
14611
adbf5e7df96d import: add --bypass option
Patrick Mezard <pmezard@gmail.com>
parents:
diff changeset
123 $ HGEDITOR=cat hg import --bypass ../test.diff
adbf5e7df96d import: add --bypass option
Patrick Mezard <pmezard@gmail.com>
parents:
diff changeset
124 applying ../test.diff
adbf5e7df96d import: add --bypass option
Patrick Mezard <pmezard@gmail.com>
parents:
diff changeset
125
adbf5e7df96d import: add --bypass option
Patrick Mezard <pmezard@gmail.com>
parents:
diff changeset
126
adbf5e7df96d import: add --bypass option
Patrick Mezard <pmezard@gmail.com>
parents:
diff changeset
127 HG: Enter commit message. Lines beginning with 'HG:' are removed.
adbf5e7df96d import: add --bypass option
Patrick Mezard <pmezard@gmail.com>
parents:
diff changeset
128 HG: Leave message empty to abort commit.
adbf5e7df96d import: add --bypass option
Patrick Mezard <pmezard@gmail.com>
parents:
diff changeset
129 HG: --
adbf5e7df96d import: add --bypass option
Patrick Mezard <pmezard@gmail.com>
parents:
diff changeset
130 HG: user: test
adbf5e7df96d import: add --bypass option
Patrick Mezard <pmezard@gmail.com>
parents:
diff changeset
131 HG: branch 'default'
adbf5e7df96d import: add --bypass option
Patrick Mezard <pmezard@gmail.com>
parents:
diff changeset
132 HG: changed a
adbf5e7df96d import: add --bypass option
Patrick Mezard <pmezard@gmail.com>
parents:
diff changeset
133 abort: empty commit message
adbf5e7df96d import: add --bypass option
Patrick Mezard <pmezard@gmail.com>
parents:
diff changeset
134 [255]
adbf5e7df96d import: add --bypass option
Patrick Mezard <pmezard@gmail.com>
parents:
diff changeset
135
adbf5e7df96d import: add --bypass option
Patrick Mezard <pmezard@gmail.com>
parents:
diff changeset
136 Test patch.eol is handled
adbf5e7df96d import: add --bypass option
Patrick Mezard <pmezard@gmail.com>
parents:
diff changeset
137
adbf5e7df96d import: add --bypass option
Patrick Mezard <pmezard@gmail.com>
parents:
diff changeset
138 $ python -c 'file("a", "wb").write("a\r\n")'
adbf5e7df96d import: add --bypass option
Patrick Mezard <pmezard@gmail.com>
parents:
diff changeset
139 $ hg ci -m makeacrlf
adbf5e7df96d import: add --bypass option
Patrick Mezard <pmezard@gmail.com>
parents:
diff changeset
140 $ hg import -m 'should fail because of eol' --bypass ../test.diff
adbf5e7df96d import: add --bypass option
Patrick Mezard <pmezard@gmail.com>
parents:
diff changeset
141 applying ../test.diff
adbf5e7df96d import: add --bypass option
Patrick Mezard <pmezard@gmail.com>
parents:
diff changeset
142 patching file a
adbf5e7df96d import: add --bypass option
Patrick Mezard <pmezard@gmail.com>
parents:
diff changeset
143 Hunk #1 FAILED at 0
adbf5e7df96d import: add --bypass option
Patrick Mezard <pmezard@gmail.com>
parents:
diff changeset
144 abort: patch failed to apply
adbf5e7df96d import: add --bypass option
Patrick Mezard <pmezard@gmail.com>
parents:
diff changeset
145 [255]
adbf5e7df96d import: add --bypass option
Patrick Mezard <pmezard@gmail.com>
parents:
diff changeset
146 $ hg --config patch.eol=auto import -d '0 0' -m 'test patch.eol' --bypass ../test.diff
adbf5e7df96d import: add --bypass option
Patrick Mezard <pmezard@gmail.com>
parents:
diff changeset
147 applying ../test.diff
adbf5e7df96d import: add --bypass option
Patrick Mezard <pmezard@gmail.com>
parents:
diff changeset
148 $ shortlog
16124
0e0060bf2f44 patch: fuzz more aggressively to match patch(1) behaviour
Patrick Mezard <patrick@mezard.eu>
parents: 15623
diff changeset
149 o 3:c606edafba99 test 0 0 - default - test patch.eol
14611
adbf5e7df96d import: add --bypass option
Patrick Mezard <pmezard@gmail.com>
parents:
diff changeset
150 |
adbf5e7df96d import: add --bypass option
Patrick Mezard <pmezard@gmail.com>
parents:
diff changeset
151 @ 2:872023de769d test 0 0 - default - makeacrlf
adbf5e7df96d import: add --bypass option
Patrick Mezard <pmezard@gmail.com>
parents:
diff changeset
152 |
adbf5e7df96d import: add --bypass option
Patrick Mezard <pmezard@gmail.com>
parents:
diff changeset
153 | o 1:4e322f7ce8e3 test 0 0 - foo - changea
adbf5e7df96d import: add --bypass option
Patrick Mezard <pmezard@gmail.com>
parents:
diff changeset
154 |/
adbf5e7df96d import: add --bypass option
Patrick Mezard <pmezard@gmail.com>
parents:
diff changeset
155 o 0:07f494440405 test 0 0 - default - adda
adbf5e7df96d import: add --bypass option
Patrick Mezard <pmezard@gmail.com>
parents:
diff changeset
156
adbf5e7df96d import: add --bypass option
Patrick Mezard <pmezard@gmail.com>
parents:
diff changeset
157
adbf5e7df96d import: add --bypass option
Patrick Mezard <pmezard@gmail.com>
parents:
diff changeset
158 Test applying multiple patches
adbf5e7df96d import: add --bypass option
Patrick Mezard <pmezard@gmail.com>
parents:
diff changeset
159
adbf5e7df96d import: add --bypass option
Patrick Mezard <pmezard@gmail.com>
parents:
diff changeset
160 $ hg up -qC 0
adbf5e7df96d import: add --bypass option
Patrick Mezard <pmezard@gmail.com>
parents:
diff changeset
161 $ echo e > e
adbf5e7df96d import: add --bypass option
Patrick Mezard <pmezard@gmail.com>
parents:
diff changeset
162 $ hg ci -Am adde
adbf5e7df96d import: add --bypass option
Patrick Mezard <pmezard@gmail.com>
parents:
diff changeset
163 adding e
adbf5e7df96d import: add --bypass option
Patrick Mezard <pmezard@gmail.com>
parents:
diff changeset
164 created new head
adbf5e7df96d import: add --bypass option
Patrick Mezard <pmezard@gmail.com>
parents:
diff changeset
165 $ hg export . > ../patch1.diff
adbf5e7df96d import: add --bypass option
Patrick Mezard <pmezard@gmail.com>
parents:
diff changeset
166 $ hg up -qC 1
adbf5e7df96d import: add --bypass option
Patrick Mezard <pmezard@gmail.com>
parents:
diff changeset
167 $ echo f > f
adbf5e7df96d import: add --bypass option
Patrick Mezard <pmezard@gmail.com>
parents:
diff changeset
168 $ hg ci -Am addf
adbf5e7df96d import: add --bypass option
Patrick Mezard <pmezard@gmail.com>
parents:
diff changeset
169 adding f
adbf5e7df96d import: add --bypass option
Patrick Mezard <pmezard@gmail.com>
parents:
diff changeset
170 $ hg export . > ../patch2.diff
adbf5e7df96d import: add --bypass option
Patrick Mezard <pmezard@gmail.com>
parents:
diff changeset
171 $ cd ..
adbf5e7df96d import: add --bypass option
Patrick Mezard <pmezard@gmail.com>
parents:
diff changeset
172 $ hg clone -r1 repo-options repo-multi1
adbf5e7df96d import: add --bypass option
Patrick Mezard <pmezard@gmail.com>
parents:
diff changeset
173 adding changesets
adbf5e7df96d import: add --bypass option
Patrick Mezard <pmezard@gmail.com>
parents:
diff changeset
174 adding manifests
adbf5e7df96d import: add --bypass option
Patrick Mezard <pmezard@gmail.com>
parents:
diff changeset
175 adding file changes
adbf5e7df96d import: add --bypass option
Patrick Mezard <pmezard@gmail.com>
parents:
diff changeset
176 added 2 changesets with 2 changes to 1 files
adbf5e7df96d import: add --bypass option
Patrick Mezard <pmezard@gmail.com>
parents:
diff changeset
177 updating to branch foo
adbf5e7df96d import: add --bypass option
Patrick Mezard <pmezard@gmail.com>
parents:
diff changeset
178 1 files updated, 0 files merged, 0 files removed, 0 files unresolved
adbf5e7df96d import: add --bypass option
Patrick Mezard <pmezard@gmail.com>
parents:
diff changeset
179 $ cd repo-multi1
adbf5e7df96d import: add --bypass option
Patrick Mezard <pmezard@gmail.com>
parents:
diff changeset
180 $ hg up 0
adbf5e7df96d import: add --bypass option
Patrick Mezard <pmezard@gmail.com>
parents:
diff changeset
181 1 files updated, 0 files merged, 0 files removed, 0 files unresolved
adbf5e7df96d import: add --bypass option
Patrick Mezard <pmezard@gmail.com>
parents:
diff changeset
182 $ hg import --bypass ../patch1.diff ../patch2.diff
adbf5e7df96d import: add --bypass option
Patrick Mezard <pmezard@gmail.com>
parents:
diff changeset
183 applying ../patch1.diff
adbf5e7df96d import: add --bypass option
Patrick Mezard <pmezard@gmail.com>
parents:
diff changeset
184 applying ../patch2.diff
adbf5e7df96d import: add --bypass option
Patrick Mezard <pmezard@gmail.com>
parents:
diff changeset
185 $ shortlog
adbf5e7df96d import: add --bypass option
Patrick Mezard <pmezard@gmail.com>
parents:
diff changeset
186 o 3:bc8ca3f8a7c4 test 0 0 - default - addf
adbf5e7df96d import: add --bypass option
Patrick Mezard <pmezard@gmail.com>
parents:
diff changeset
187 |
adbf5e7df96d import: add --bypass option
Patrick Mezard <pmezard@gmail.com>
parents:
diff changeset
188 o 2:16581080145e test 0 0 - default - adde
adbf5e7df96d import: add --bypass option
Patrick Mezard <pmezard@gmail.com>
parents:
diff changeset
189 |
adbf5e7df96d import: add --bypass option
Patrick Mezard <pmezard@gmail.com>
parents:
diff changeset
190 | o 1:4e322f7ce8e3 test 0 0 - foo - changea
adbf5e7df96d import: add --bypass option
Patrick Mezard <pmezard@gmail.com>
parents:
diff changeset
191 |/
adbf5e7df96d import: add --bypass option
Patrick Mezard <pmezard@gmail.com>
parents:
diff changeset
192 @ 0:07f494440405 test 0 0 - default - adda
adbf5e7df96d import: add --bypass option
Patrick Mezard <pmezard@gmail.com>
parents:
diff changeset
193
adbf5e7df96d import: add --bypass option
Patrick Mezard <pmezard@gmail.com>
parents:
diff changeset
194
adbf5e7df96d import: add --bypass option
Patrick Mezard <pmezard@gmail.com>
parents:
diff changeset
195 Test applying multiple patches with --exact
adbf5e7df96d import: add --bypass option
Patrick Mezard <pmezard@gmail.com>
parents:
diff changeset
196
adbf5e7df96d import: add --bypass option
Patrick Mezard <pmezard@gmail.com>
parents:
diff changeset
197 $ cd ..
adbf5e7df96d import: add --bypass option
Patrick Mezard <pmezard@gmail.com>
parents:
diff changeset
198 $ hg clone -r1 repo-options repo-multi2
adbf5e7df96d import: add --bypass option
Patrick Mezard <pmezard@gmail.com>
parents:
diff changeset
199 adding changesets
adbf5e7df96d import: add --bypass option
Patrick Mezard <pmezard@gmail.com>
parents:
diff changeset
200 adding manifests
adbf5e7df96d import: add --bypass option
Patrick Mezard <pmezard@gmail.com>
parents:
diff changeset
201 adding file changes
adbf5e7df96d import: add --bypass option
Patrick Mezard <pmezard@gmail.com>
parents:
diff changeset
202 added 2 changesets with 2 changes to 1 files
adbf5e7df96d import: add --bypass option
Patrick Mezard <pmezard@gmail.com>
parents:
diff changeset
203 updating to branch foo
adbf5e7df96d import: add --bypass option
Patrick Mezard <pmezard@gmail.com>
parents:
diff changeset
204 1 files updated, 0 files merged, 0 files removed, 0 files unresolved
adbf5e7df96d import: add --bypass option
Patrick Mezard <pmezard@gmail.com>
parents:
diff changeset
205 $ cd repo-multi2
adbf5e7df96d import: add --bypass option
Patrick Mezard <pmezard@gmail.com>
parents:
diff changeset
206 $ hg import --bypass --exact ../patch1.diff ../patch2.diff
adbf5e7df96d import: add --bypass option
Patrick Mezard <pmezard@gmail.com>
parents:
diff changeset
207 applying ../patch1.diff
adbf5e7df96d import: add --bypass option
Patrick Mezard <pmezard@gmail.com>
parents:
diff changeset
208 applying ../patch2.diff
adbf5e7df96d import: add --bypass option
Patrick Mezard <pmezard@gmail.com>
parents:
diff changeset
209 $ shortlog
adbf5e7df96d import: add --bypass option
Patrick Mezard <pmezard@gmail.com>
parents:
diff changeset
210 o 3:d60cb8989666 test 0 0 - foo - addf
adbf5e7df96d import: add --bypass option
Patrick Mezard <pmezard@gmail.com>
parents:
diff changeset
211 |
adbf5e7df96d import: add --bypass option
Patrick Mezard <pmezard@gmail.com>
parents:
diff changeset
212 | o 2:16581080145e test 0 0 - default - adde
adbf5e7df96d import: add --bypass option
Patrick Mezard <pmezard@gmail.com>
parents:
diff changeset
213 | |
adbf5e7df96d import: add --bypass option
Patrick Mezard <pmezard@gmail.com>
parents:
diff changeset
214 @ | 1:4e322f7ce8e3 test 0 0 - foo - changea
adbf5e7df96d import: add --bypass option
Patrick Mezard <pmezard@gmail.com>
parents:
diff changeset
215 |/
adbf5e7df96d import: add --bypass option
Patrick Mezard <pmezard@gmail.com>
parents:
diff changeset
216 o 0:07f494440405 test 0 0 - default - adda
adbf5e7df96d import: add --bypass option
Patrick Mezard <pmezard@gmail.com>
parents:
diff changeset
217
adbf5e7df96d import: add --bypass option
Patrick Mezard <pmezard@gmail.com>
parents:
diff changeset
218
adbf5e7df96d import: add --bypass option
Patrick Mezard <pmezard@gmail.com>
parents:
diff changeset
219 $ cd ..
adbf5e7df96d import: add --bypass option
Patrick Mezard <pmezard@gmail.com>
parents:
diff changeset
220
adbf5e7df96d import: add --bypass option
Patrick Mezard <pmezard@gmail.com>
parents:
diff changeset
221 Test complicated patch with --exact
adbf5e7df96d import: add --bypass option
Patrick Mezard <pmezard@gmail.com>
parents:
diff changeset
222
adbf5e7df96d import: add --bypass option
Patrick Mezard <pmezard@gmail.com>
parents:
diff changeset
223 $ hg init repo-exact
adbf5e7df96d import: add --bypass option
Patrick Mezard <pmezard@gmail.com>
parents:
diff changeset
224 $ cd repo-exact
adbf5e7df96d import: add --bypass option
Patrick Mezard <pmezard@gmail.com>
parents:
diff changeset
225 $ echo a > a
adbf5e7df96d import: add --bypass option
Patrick Mezard <pmezard@gmail.com>
parents:
diff changeset
226 $ echo c > c
adbf5e7df96d import: add --bypass option
Patrick Mezard <pmezard@gmail.com>
parents:
diff changeset
227 $ echo d > d
adbf5e7df96d import: add --bypass option
Patrick Mezard <pmezard@gmail.com>
parents:
diff changeset
228 $ echo e > e
adbf5e7df96d import: add --bypass option
Patrick Mezard <pmezard@gmail.com>
parents:
diff changeset
229 $ echo f > f
adbf5e7df96d import: add --bypass option
Patrick Mezard <pmezard@gmail.com>
parents:
diff changeset
230 $ chmod +x f
adbf5e7df96d import: add --bypass option
Patrick Mezard <pmezard@gmail.com>
parents:
diff changeset
231 $ ln -s c linkc
adbf5e7df96d import: add --bypass option
Patrick Mezard <pmezard@gmail.com>
parents:
diff changeset
232 $ hg ci -Am t
adbf5e7df96d import: add --bypass option
Patrick Mezard <pmezard@gmail.com>
parents:
diff changeset
233 adding a
adbf5e7df96d import: add --bypass option
Patrick Mezard <pmezard@gmail.com>
parents:
diff changeset
234 adding c
adbf5e7df96d import: add --bypass option
Patrick Mezard <pmezard@gmail.com>
parents:
diff changeset
235 adding d
adbf5e7df96d import: add --bypass option
Patrick Mezard <pmezard@gmail.com>
parents:
diff changeset
236 adding e
adbf5e7df96d import: add --bypass option
Patrick Mezard <pmezard@gmail.com>
parents:
diff changeset
237 adding f
adbf5e7df96d import: add --bypass option
Patrick Mezard <pmezard@gmail.com>
parents:
diff changeset
238 adding linkc
adbf5e7df96d import: add --bypass option
Patrick Mezard <pmezard@gmail.com>
parents:
diff changeset
239 $ hg cp a aa1
adbf5e7df96d import: add --bypass option
Patrick Mezard <pmezard@gmail.com>
parents:
diff changeset
240 $ echo b >> a
adbf5e7df96d import: add --bypass option
Patrick Mezard <pmezard@gmail.com>
parents:
diff changeset
241 $ echo b > b
adbf5e7df96d import: add --bypass option
Patrick Mezard <pmezard@gmail.com>
parents:
diff changeset
242 $ hg add b
adbf5e7df96d import: add --bypass option
Patrick Mezard <pmezard@gmail.com>
parents:
diff changeset
243 $ hg cp a aa2
adbf5e7df96d import: add --bypass option
Patrick Mezard <pmezard@gmail.com>
parents:
diff changeset
244 $ echo aa >> aa2
adbf5e7df96d import: add --bypass option
Patrick Mezard <pmezard@gmail.com>
parents:
diff changeset
245 $ chmod +x e
adbf5e7df96d import: add --bypass option
Patrick Mezard <pmezard@gmail.com>
parents:
diff changeset
246 $ chmod -x f
adbf5e7df96d import: add --bypass option
Patrick Mezard <pmezard@gmail.com>
parents:
diff changeset
247 $ ln -s a linka
adbf5e7df96d import: add --bypass option
Patrick Mezard <pmezard@gmail.com>
parents:
diff changeset
248 $ hg rm d
adbf5e7df96d import: add --bypass option
Patrick Mezard <pmezard@gmail.com>
parents:
diff changeset
249 $ hg rm linkc
adbf5e7df96d import: add --bypass option
Patrick Mezard <pmezard@gmail.com>
parents:
diff changeset
250 $ hg mv c cc
adbf5e7df96d import: add --bypass option
Patrick Mezard <pmezard@gmail.com>
parents:
diff changeset
251 $ hg ci -m patch
adbf5e7df96d import: add --bypass option
Patrick Mezard <pmezard@gmail.com>
parents:
diff changeset
252 $ hg export --git . > ../test.diff
adbf5e7df96d import: add --bypass option
Patrick Mezard <pmezard@gmail.com>
parents:
diff changeset
253 $ hg up -C null
adbf5e7df96d import: add --bypass option
Patrick Mezard <pmezard@gmail.com>
parents:
diff changeset
254 0 files updated, 0 files merged, 7 files removed, 0 files unresolved
adbf5e7df96d import: add --bypass option
Patrick Mezard <pmezard@gmail.com>
parents:
diff changeset
255 $ hg purge
adbf5e7df96d import: add --bypass option
Patrick Mezard <pmezard@gmail.com>
parents:
diff changeset
256 $ hg st
adbf5e7df96d import: add --bypass option
Patrick Mezard <pmezard@gmail.com>
parents:
diff changeset
257 $ hg import --bypass --exact ../test.diff
adbf5e7df96d import: add --bypass option
Patrick Mezard <pmezard@gmail.com>
parents:
diff changeset
258 applying ../test.diff
adbf5e7df96d import: add --bypass option
Patrick Mezard <pmezard@gmail.com>
parents:
diff changeset
259
adbf5e7df96d import: add --bypass option
Patrick Mezard <pmezard@gmail.com>
parents:
diff changeset
260 The patch should have matched the exported revision and generated no additional
adbf5e7df96d import: add --bypass option
Patrick Mezard <pmezard@gmail.com>
parents:
diff changeset
261 data. If not, diff both heads to debug it.
adbf5e7df96d import: add --bypass option
Patrick Mezard <pmezard@gmail.com>
parents:
diff changeset
262
adbf5e7df96d import: add --bypass option
Patrick Mezard <pmezard@gmail.com>
parents:
diff changeset
263 $ shortlog
adbf5e7df96d import: add --bypass option
Patrick Mezard <pmezard@gmail.com>
parents:
diff changeset
264 o 1:2978fd5c8aa4 test 0 0 - default - patch
adbf5e7df96d import: add --bypass option
Patrick Mezard <pmezard@gmail.com>
parents:
diff changeset
265 |
adbf5e7df96d import: add --bypass option
Patrick Mezard <pmezard@gmail.com>
parents:
diff changeset
266 o 0:a0e19e636a43 test 0 0 - default - t
adbf5e7df96d import: add --bypass option
Patrick Mezard <pmezard@gmail.com>
parents:
diff changeset
267