tests/test-import-bypass.t
author Mads Kiilerich <mads@kiilerich.com>
Wed, 28 Jun 2023 14:23:13 +0200
branchstable
changeset 50757 19108906abaf
parent 48363 6a454e7053a1
permissions -rw-r--r--
extensions: imp module is removed in Python 3.12 - use importlib to load files imp has been deprecated for a long time, and has finally been removed in Python 3.12 . imp was only used for loading extensions that has been specified with direct .py path or path to a package directory. The same use cases can be achieved quite simple with importlib, , possiby with small changes in corner cases with undefined behaviour, such as extensions without .py source. There might also be corner cases and undefined behaviour around use of sys.modules and reloading.
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
14611
adbf5e7df96d import: add --bypass option
Patrick Mezard <pmezard@gmail.com>
parents:
diff changeset
     1
  $ echo "[extensions]" >> $HGRCPATH
adbf5e7df96d import: add --bypass option
Patrick Mezard <pmezard@gmail.com>
parents:
diff changeset
     2
  $ echo "purge=" >> $HGRCPATH
adbf5e7df96d import: add --bypass option
Patrick Mezard <pmezard@gmail.com>
parents:
diff changeset
     3
adbf5e7df96d import: add --bypass option
Patrick Mezard <pmezard@gmail.com>
parents:
diff changeset
     4
  $ shortlog() {
20117
aa9385f983fa tests: don't load unnecessary graphlog extension
Martin Geisler <martin@geisler.net>
parents: 16913
diff changeset
     5
  >     hg log -G --template '{rev}:{node|short} {author} {date|hgdate} - {branch} - {desc|firstline}\n'
14611
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
adbf5e7df96d import: add --bypass option
Patrick Mezard <pmezard@gmail.com>
parents:
diff changeset
     8
Test --bypass with other options
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
  $ hg init repo-options
adbf5e7df96d import: add --bypass option
Patrick Mezard <pmezard@gmail.com>
parents:
diff changeset
    11
  $ cd repo-options
adbf5e7df96d import: add --bypass option
Patrick Mezard <pmezard@gmail.com>
parents:
diff changeset
    12
  $ echo a > a
adbf5e7df96d import: add --bypass option
Patrick Mezard <pmezard@gmail.com>
parents:
diff changeset
    13
  $ hg ci -Am adda
adbf5e7df96d import: add --bypass option
Patrick Mezard <pmezard@gmail.com>
parents:
diff changeset
    14
  adding a
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 branch foo
adbf5e7df96d import: add --bypass option
Patrick Mezard <pmezard@gmail.com>
parents:
diff changeset
    17
  marked working directory as branch foo
15615
41885892796e branch: warn on branching
Matt Mackall <mpm@selenic.com>
parents: 15198
diff changeset
    18
  (branches are permanent and global, did you want a bookmark?)
14611
adbf5e7df96d import: add --bypass option
Patrick Mezard <pmezard@gmail.com>
parents:
diff changeset
    19
  $ hg ci -Am changea
adbf5e7df96d import: add --bypass option
Patrick Mezard <pmezard@gmail.com>
parents:
diff changeset
    20
  $ hg export . > ../test.diff
adbf5e7df96d import: add --bypass option
Patrick Mezard <pmezard@gmail.com>
parents:
diff changeset
    21
  $ hg up null
adbf5e7df96d import: add --bypass option
Patrick Mezard <pmezard@gmail.com>
parents:
diff changeset
    22
  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
    23
adbf5e7df96d import: add --bypass option
Patrick Mezard <pmezard@gmail.com>
parents:
diff changeset
    24
Test importing an existing revision
22277
e116abad3afa import: disallow meaningless combination of "--exact" and "--edit"
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 21417
diff changeset
    25
(this also tests that "hg import" disallows combination of '--exact'
e116abad3afa import: disallow meaningless combination of "--exact" and "--edit"
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 21417
diff changeset
    26
and '--edit')
14611
adbf5e7df96d import: add --bypass option
Patrick Mezard <pmezard@gmail.com>
parents:
diff changeset
    27
22277
e116abad3afa import: disallow meaningless combination of "--exact" and "--edit"
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 21417
diff changeset
    28
  $ hg import --bypass --exact --edit ../test.diff
45740
d1cabce5ef05 import: leverage cmdutil.check_incompatible_arguments()
Martin von Zweigbergk <martinvonz@google.com>
parents: 39707
diff changeset
    29
  abort: cannot specify both --exact and --edit
45827
8d72e29ad1e0 errors: introduce InputError and use it from commands and cmdutil
Martin von Zweigbergk <martinvonz@google.com>
parents: 45740
diff changeset
    30
  [10]
22277
e116abad3afa import: disallow meaningless combination of "--exact" and "--edit"
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 21417
diff changeset
    31
  $ hg import --bypass --exact ../test.diff
14611
adbf5e7df96d import: add --bypass option
Patrick Mezard <pmezard@gmail.com>
parents:
diff changeset
    32
  applying ../test.diff
adbf5e7df96d import: add --bypass option
Patrick Mezard <pmezard@gmail.com>
parents:
diff changeset
    33
  $ shortlog
adbf5e7df96d import: add --bypass option
Patrick Mezard <pmezard@gmail.com>
parents:
diff changeset
    34
  o  1:4e322f7ce8e3 test 0 0 - foo - changea
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
  o  0:07f494440405 test 0 0 - default - adda
adbf5e7df96d import: add --bypass option
Patrick Mezard <pmezard@gmail.com>
parents:
diff changeset
    37
  
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
Test failure without --exact
adbf5e7df96d import: add --bypass option
Patrick Mezard <pmezard@gmail.com>
parents:
diff changeset
    40
adbf5e7df96d import: add --bypass option
Patrick Mezard <pmezard@gmail.com>
parents:
diff changeset
    41
  $ hg import --bypass ../test.diff
adbf5e7df96d import: add --bypass option
Patrick Mezard <pmezard@gmail.com>
parents:
diff changeset
    42
  applying ../test.diff
adbf5e7df96d import: add --bypass option
Patrick Mezard <pmezard@gmail.com>
parents:
diff changeset
    43
  unable to find 'a' for patching
29900
50f2966f86ca import: report directory-relative paths in error messages (issue5224)
liscju <piotr.listkiewicz@gmail.com>
parents: 24260
diff changeset
    44
  (use '--prefix' to apply patch relative to the current directory)
14611
adbf5e7df96d import: add --bypass option
Patrick Mezard <pmezard@gmail.com>
parents:
diff changeset
    45
  abort: patch failed to apply
48363
6a454e7053a1 errors: return more detailed errors when failing to parse or apply patch
Martin von Zweigbergk <martinvonz@google.com>
parents: 45827
diff changeset
    46
  [20]
14611
adbf5e7df96d import: add --bypass option
Patrick Mezard <pmezard@gmail.com>
parents:
diff changeset
    47
  $ hg st
adbf5e7df96d import: add --bypass option
Patrick Mezard <pmezard@gmail.com>
parents:
diff changeset
    48
  $ shortlog
adbf5e7df96d import: add --bypass option
Patrick Mezard <pmezard@gmail.com>
parents:
diff changeset
    49
  o  1:4e322f7ce8e3 test 0 0 - foo - changea
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
  o  0:07f494440405 test 0 0 - default - adda
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
adbf5e7df96d import: add --bypass option
Patrick Mezard <pmezard@gmail.com>
parents:
diff changeset
    54
Test --user, --date and --message
adbf5e7df96d import: add --bypass option
Patrick Mezard <pmezard@gmail.com>
parents:
diff changeset
    55
adbf5e7df96d import: add --bypass option
Patrick Mezard <pmezard@gmail.com>
parents:
diff changeset
    56
  $ hg up 0
adbf5e7df96d import: add --bypass option
Patrick Mezard <pmezard@gmail.com>
parents:
diff changeset
    57
  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
    58
  $ 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
    59
  applying ../test.diff
adbf5e7df96d import: add --bypass option
Patrick Mezard <pmezard@gmail.com>
parents:
diff changeset
    60
  $ cat .hg/last-message.txt
adbf5e7df96d import: add --bypass option
Patrick Mezard <pmezard@gmail.com>
parents:
diff changeset
    61
  patch2 (no-eol)
adbf5e7df96d import: add --bypass option
Patrick Mezard <pmezard@gmail.com>
parents:
diff changeset
    62
  $ shortlog
adbf5e7df96d import: add --bypass option
Patrick Mezard <pmezard@gmail.com>
parents:
diff changeset
    63
  o  2:2e127d1da504 test2 1 0 - default - patch2
adbf5e7df96d import: add --bypass option
Patrick Mezard <pmezard@gmail.com>
parents:
diff changeset
    64
  |
adbf5e7df96d import: add --bypass option
Patrick Mezard <pmezard@gmail.com>
parents:
diff changeset
    65
  | o  1:4e322f7ce8e3 test 0 0 - foo - changea
adbf5e7df96d import: add --bypass option
Patrick Mezard <pmezard@gmail.com>
parents:
diff changeset
    66
  |/
adbf5e7df96d import: add --bypass option
Patrick Mezard <pmezard@gmail.com>
parents:
diff changeset
    67
  @  0:07f494440405 test 0 0 - default - adda
adbf5e7df96d import: add --bypass option
Patrick Mezard <pmezard@gmail.com>
parents:
diff changeset
    68
  
15198
62dc0e7ab092 import: wrap a transaction around the whole command
Greg Ward <greg@gerg.ca>
parents: 15194
diff changeset
    69
  $ hg rollback
62dc0e7ab092 import: wrap a transaction around the whole command
Greg Ward <greg@gerg.ca>
parents: 15194
diff changeset
    70
  repository tip rolled back to revision 1 (undo import)
14611
adbf5e7df96d import: add --bypass option
Patrick Mezard <pmezard@gmail.com>
parents:
diff changeset
    71
adbf5e7df96d import: add --bypass option
Patrick Mezard <pmezard@gmail.com>
parents:
diff changeset
    72
Test --import-branch
22277
e116abad3afa import: disallow meaningless combination of "--exact" and "--edit"
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 21417
diff changeset
    73
(this also tests that editor is not invoked for '--bypass', if the
e116abad3afa import: disallow meaningless combination of "--exact" and "--edit"
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 21417
diff changeset
    74
patch contains the commit message, regardless of '--edit')
14611
adbf5e7df96d import: add --bypass option
Patrick Mezard <pmezard@gmail.com>
parents:
diff changeset
    75
22277
e116abad3afa import: disallow meaningless combination of "--exact" and "--edit"
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 21417
diff changeset
    76
  $ HGEDITOR=cat hg import --bypass --import-branch --edit ../test.diff
14611
adbf5e7df96d import: add --bypass option
Patrick Mezard <pmezard@gmail.com>
parents:
diff changeset
    77
  applying ../test.diff
adbf5e7df96d import: add --bypass option
Patrick Mezard <pmezard@gmail.com>
parents:
diff changeset
    78
  $ shortlog
adbf5e7df96d import: add --bypass option
Patrick Mezard <pmezard@gmail.com>
parents:
diff changeset
    79
  o  1:4e322f7ce8e3 test 0 0 - foo - changea
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
  @  0:07f494440405 test 0 0 - default - adda
adbf5e7df96d import: add --bypass option
Patrick Mezard <pmezard@gmail.com>
parents:
diff changeset
    82
  
15198
62dc0e7ab092 import: wrap a transaction around the whole command
Greg Ward <greg@gerg.ca>
parents: 15194
diff changeset
    83
  $ hg rollback
62dc0e7ab092 import: wrap a transaction around the whole command
Greg Ward <greg@gerg.ca>
parents: 15194
diff changeset
    84
  repository tip rolled back to revision 1 (undo import)
14611
adbf5e7df96d import: add --bypass option
Patrick Mezard <pmezard@gmail.com>
parents:
diff changeset
    85
adbf5e7df96d import: add --bypass option
Patrick Mezard <pmezard@gmail.com>
parents:
diff changeset
    86
Test --strip
adbf5e7df96d import: add --bypass option
Patrick Mezard <pmezard@gmail.com>
parents:
diff changeset
    87
adbf5e7df96d import: add --bypass option
Patrick Mezard <pmezard@gmail.com>
parents:
diff changeset
    88
  $ hg import --bypass --strip 0 - <<EOF
adbf5e7df96d import: add --bypass option
Patrick Mezard <pmezard@gmail.com>
parents:
diff changeset
    89
  > # HG changeset patch
adbf5e7df96d import: add --bypass option
Patrick Mezard <pmezard@gmail.com>
parents:
diff changeset
    90
  > # User test
adbf5e7df96d import: add --bypass option
Patrick Mezard <pmezard@gmail.com>
parents:
diff changeset
    91
  > # Date 0 0
adbf5e7df96d import: add --bypass option
Patrick Mezard <pmezard@gmail.com>
parents:
diff changeset
    92
  > # Branch foo
adbf5e7df96d import: add --bypass option
Patrick Mezard <pmezard@gmail.com>
parents:
diff changeset
    93
  > # Node ID 4e322f7ce8e3e4203950eac9ece27bf7e45ffa6c
adbf5e7df96d import: add --bypass option
Patrick Mezard <pmezard@gmail.com>
parents:
diff changeset
    94
  > # Parent  07f4944404050f47db2e5c5071e0e84e7a27bba9
adbf5e7df96d import: add --bypass option
Patrick Mezard <pmezard@gmail.com>
parents:
diff changeset
    95
  > changea
adbf5e7df96d import: add --bypass option
Patrick Mezard <pmezard@gmail.com>
parents:
diff changeset
    96
  > 
adbf5e7df96d import: add --bypass option
Patrick Mezard <pmezard@gmail.com>
parents:
diff changeset
    97
  > diff -r 07f494440405 -r 4e322f7ce8e3 a
adbf5e7df96d import: add --bypass option
Patrick Mezard <pmezard@gmail.com>
parents:
diff changeset
    98
  > --- a	Thu Jan 01 00:00:00 1970 +0000
adbf5e7df96d import: add --bypass option
Patrick Mezard <pmezard@gmail.com>
parents:
diff changeset
    99
  > +++ a	Thu Jan 01 00:00:00 1970 +0000
adbf5e7df96d import: add --bypass option
Patrick Mezard <pmezard@gmail.com>
parents:
diff changeset
   100
  > @@ -1,1 +1,2 @@
adbf5e7df96d import: add --bypass option
Patrick Mezard <pmezard@gmail.com>
parents:
diff changeset
   101
  >  a
adbf5e7df96d import: add --bypass option
Patrick Mezard <pmezard@gmail.com>
parents:
diff changeset
   102
  > +a
adbf5e7df96d import: add --bypass option
Patrick Mezard <pmezard@gmail.com>
parents:
diff changeset
   103
  > EOF
adbf5e7df96d import: add --bypass option
Patrick Mezard <pmezard@gmail.com>
parents:
diff changeset
   104
  applying patch from stdin
15198
62dc0e7ab092 import: wrap a transaction around the whole command
Greg Ward <greg@gerg.ca>
parents: 15194
diff changeset
   105
  $ hg rollback
62dc0e7ab092 import: wrap a transaction around the whole command
Greg Ward <greg@gerg.ca>
parents: 15194
diff changeset
   106
  repository tip rolled back to revision 1 (undo import)
14611
adbf5e7df96d import: add --bypass option
Patrick Mezard <pmezard@gmail.com>
parents:
diff changeset
   107
24260
76225ab5a5da cmdutil.tryimportone: allow importing relative patches with --bypass
Siddharth Agarwal <sid0@fb.com>
parents: 24258
diff changeset
   108
Test --strip with --bypass
76225ab5a5da cmdutil.tryimportone: allow importing relative patches with --bypass
Siddharth Agarwal <sid0@fb.com>
parents: 24258
diff changeset
   109
76225ab5a5da cmdutil.tryimportone: allow importing relative patches with --bypass
Siddharth Agarwal <sid0@fb.com>
parents: 24258
diff changeset
   110
  $ mkdir -p dir/dir2
76225ab5a5da cmdutil.tryimportone: allow importing relative patches with --bypass
Siddharth Agarwal <sid0@fb.com>
parents: 24258
diff changeset
   111
  $ echo bb > dir/dir2/b
76225ab5a5da cmdutil.tryimportone: allow importing relative patches with --bypass
Siddharth Agarwal <sid0@fb.com>
parents: 24258
diff changeset
   112
  $ echo cc > dir/dir2/c
76225ab5a5da cmdutil.tryimportone: allow importing relative patches with --bypass
Siddharth Agarwal <sid0@fb.com>
parents: 24258
diff changeset
   113
  $ echo d > dir/d
76225ab5a5da cmdutil.tryimportone: allow importing relative patches with --bypass
Siddharth Agarwal <sid0@fb.com>
parents: 24258
diff changeset
   114
  $ hg ci -Am 'addabcd'
76225ab5a5da cmdutil.tryimportone: allow importing relative patches with --bypass
Siddharth Agarwal <sid0@fb.com>
parents: 24258
diff changeset
   115
  adding dir/d
76225ab5a5da cmdutil.tryimportone: allow importing relative patches with --bypass
Siddharth Agarwal <sid0@fb.com>
parents: 24258
diff changeset
   116
  adding dir/dir2/b
76225ab5a5da cmdutil.tryimportone: allow importing relative patches with --bypass
Siddharth Agarwal <sid0@fb.com>
parents: 24258
diff changeset
   117
  adding dir/dir2/c
76225ab5a5da cmdutil.tryimportone: allow importing relative patches with --bypass
Siddharth Agarwal <sid0@fb.com>
parents: 24258
diff changeset
   118
  $ shortlog
76225ab5a5da cmdutil.tryimportone: allow importing relative patches with --bypass
Siddharth Agarwal <sid0@fb.com>
parents: 24258
diff changeset
   119
  @  2:d805bc8236b6 test 0 0 - default - addabcd
76225ab5a5da cmdutil.tryimportone: allow importing relative patches with --bypass
Siddharth Agarwal <sid0@fb.com>
parents: 24258
diff changeset
   120
  |
76225ab5a5da cmdutil.tryimportone: allow importing relative patches with --bypass
Siddharth Agarwal <sid0@fb.com>
parents: 24258
diff changeset
   121
  | o  1:4e322f7ce8e3 test 0 0 - foo - changea
76225ab5a5da cmdutil.tryimportone: allow importing relative patches with --bypass
Siddharth Agarwal <sid0@fb.com>
parents: 24258
diff changeset
   122
  |/
76225ab5a5da cmdutil.tryimportone: allow importing relative patches with --bypass
Siddharth Agarwal <sid0@fb.com>
parents: 24258
diff changeset
   123
  o  0:07f494440405 test 0 0 - default - adda
76225ab5a5da cmdutil.tryimportone: allow importing relative patches with --bypass
Siddharth Agarwal <sid0@fb.com>
parents: 24258
diff changeset
   124
  
76225ab5a5da cmdutil.tryimportone: allow importing relative patches with --bypass
Siddharth Agarwal <sid0@fb.com>
parents: 24258
diff changeset
   125
  $ hg import --bypass --strip 2 --prefix dir/ - <<EOF
76225ab5a5da cmdutil.tryimportone: allow importing relative patches with --bypass
Siddharth Agarwal <sid0@fb.com>
parents: 24258
diff changeset
   126
  > # HG changeset patch
76225ab5a5da cmdutil.tryimportone: allow importing relative patches with --bypass
Siddharth Agarwal <sid0@fb.com>
parents: 24258
diff changeset
   127
  > # User test
76225ab5a5da cmdutil.tryimportone: allow importing relative patches with --bypass
Siddharth Agarwal <sid0@fb.com>
parents: 24258
diff changeset
   128
  > # Date 0 0
76225ab5a5da cmdutil.tryimportone: allow importing relative patches with --bypass
Siddharth Agarwal <sid0@fb.com>
parents: 24258
diff changeset
   129
  > # Branch foo
76225ab5a5da cmdutil.tryimportone: allow importing relative patches with --bypass
Siddharth Agarwal <sid0@fb.com>
parents: 24258
diff changeset
   130
  > changeabcd
76225ab5a5da cmdutil.tryimportone: allow importing relative patches with --bypass
Siddharth Agarwal <sid0@fb.com>
parents: 24258
diff changeset
   131
  > 
76225ab5a5da cmdutil.tryimportone: allow importing relative patches with --bypass
Siddharth Agarwal <sid0@fb.com>
parents: 24258
diff changeset
   132
  > diff --git a/foo/a b/foo/a
76225ab5a5da cmdutil.tryimportone: allow importing relative patches with --bypass
Siddharth Agarwal <sid0@fb.com>
parents: 24258
diff changeset
   133
  > new file mode 100644
76225ab5a5da cmdutil.tryimportone: allow importing relative patches with --bypass
Siddharth Agarwal <sid0@fb.com>
parents: 24258
diff changeset
   134
  > --- /dev/null
76225ab5a5da cmdutil.tryimportone: allow importing relative patches with --bypass
Siddharth Agarwal <sid0@fb.com>
parents: 24258
diff changeset
   135
  > +++ b/foo/a
76225ab5a5da cmdutil.tryimportone: allow importing relative patches with --bypass
Siddharth Agarwal <sid0@fb.com>
parents: 24258
diff changeset
   136
  > @@ -0,0 +1 @@
76225ab5a5da cmdutil.tryimportone: allow importing relative patches with --bypass
Siddharth Agarwal <sid0@fb.com>
parents: 24258
diff changeset
   137
  > +a
76225ab5a5da cmdutil.tryimportone: allow importing relative patches with --bypass
Siddharth Agarwal <sid0@fb.com>
parents: 24258
diff changeset
   138
  > diff --git a/foo/dir2/b b/foo/dir2/b2
76225ab5a5da cmdutil.tryimportone: allow importing relative patches with --bypass
Siddharth Agarwal <sid0@fb.com>
parents: 24258
diff changeset
   139
  > rename from foo/dir2/b
76225ab5a5da cmdutil.tryimportone: allow importing relative patches with --bypass
Siddharth Agarwal <sid0@fb.com>
parents: 24258
diff changeset
   140
  > rename to foo/dir2/b2
76225ab5a5da cmdutil.tryimportone: allow importing relative patches with --bypass
Siddharth Agarwal <sid0@fb.com>
parents: 24258
diff changeset
   141
  > diff --git a/foo/dir2/c b/foo/dir2/c
76225ab5a5da cmdutil.tryimportone: allow importing relative patches with --bypass
Siddharth Agarwal <sid0@fb.com>
parents: 24258
diff changeset
   142
  > --- a/foo/dir2/c
76225ab5a5da cmdutil.tryimportone: allow importing relative patches with --bypass
Siddharth Agarwal <sid0@fb.com>
parents: 24258
diff changeset
   143
  > +++ b/foo/dir2/c
76225ab5a5da cmdutil.tryimportone: allow importing relative patches with --bypass
Siddharth Agarwal <sid0@fb.com>
parents: 24258
diff changeset
   144
  > @@ -0,0 +1 @@
76225ab5a5da cmdutil.tryimportone: allow importing relative patches with --bypass
Siddharth Agarwal <sid0@fb.com>
parents: 24258
diff changeset
   145
  > +cc
76225ab5a5da cmdutil.tryimportone: allow importing relative patches with --bypass
Siddharth Agarwal <sid0@fb.com>
parents: 24258
diff changeset
   146
  > diff --git a/foo/d b/foo/d
76225ab5a5da cmdutil.tryimportone: allow importing relative patches with --bypass
Siddharth Agarwal <sid0@fb.com>
parents: 24258
diff changeset
   147
  > deleted file mode 100644
76225ab5a5da cmdutil.tryimportone: allow importing relative patches with --bypass
Siddharth Agarwal <sid0@fb.com>
parents: 24258
diff changeset
   148
  > --- a/foo/d
76225ab5a5da cmdutil.tryimportone: allow importing relative patches with --bypass
Siddharth Agarwal <sid0@fb.com>
parents: 24258
diff changeset
   149
  > +++ /dev/null
76225ab5a5da cmdutil.tryimportone: allow importing relative patches with --bypass
Siddharth Agarwal <sid0@fb.com>
parents: 24258
diff changeset
   150
  > @@ -1,1 +0,0 @@
76225ab5a5da cmdutil.tryimportone: allow importing relative patches with --bypass
Siddharth Agarwal <sid0@fb.com>
parents: 24258
diff changeset
   151
  > -d
76225ab5a5da cmdutil.tryimportone: allow importing relative patches with --bypass
Siddharth Agarwal <sid0@fb.com>
parents: 24258
diff changeset
   152
  > EOF
76225ab5a5da cmdutil.tryimportone: allow importing relative patches with --bypass
Siddharth Agarwal <sid0@fb.com>
parents: 24258
diff changeset
   153
  applying patch from stdin
76225ab5a5da cmdutil.tryimportone: allow importing relative patches with --bypass
Siddharth Agarwal <sid0@fb.com>
parents: 24258
diff changeset
   154
76225ab5a5da cmdutil.tryimportone: allow importing relative patches with --bypass
Siddharth Agarwal <sid0@fb.com>
parents: 24258
diff changeset
   155
  $ shortlog
76225ab5a5da cmdutil.tryimportone: allow importing relative patches with --bypass
Siddharth Agarwal <sid0@fb.com>
parents: 24258
diff changeset
   156
  o  3:5bd46886ca3e test 0 0 - default - changeabcd
76225ab5a5da cmdutil.tryimportone: allow importing relative patches with --bypass
Siddharth Agarwal <sid0@fb.com>
parents: 24258
diff changeset
   157
  |
76225ab5a5da cmdutil.tryimportone: allow importing relative patches with --bypass
Siddharth Agarwal <sid0@fb.com>
parents: 24258
diff changeset
   158
  @  2:d805bc8236b6 test 0 0 - default - addabcd
76225ab5a5da cmdutil.tryimportone: allow importing relative patches with --bypass
Siddharth Agarwal <sid0@fb.com>
parents: 24258
diff changeset
   159
  |
76225ab5a5da cmdutil.tryimportone: allow importing relative patches with --bypass
Siddharth Agarwal <sid0@fb.com>
parents: 24258
diff changeset
   160
  | o  1:4e322f7ce8e3 test 0 0 - foo - changea
76225ab5a5da cmdutil.tryimportone: allow importing relative patches with --bypass
Siddharth Agarwal <sid0@fb.com>
parents: 24258
diff changeset
   161
  |/
76225ab5a5da cmdutil.tryimportone: allow importing relative patches with --bypass
Siddharth Agarwal <sid0@fb.com>
parents: 24258
diff changeset
   162
  o  0:07f494440405 test 0 0 - default - adda
76225ab5a5da cmdutil.tryimportone: allow importing relative patches with --bypass
Siddharth Agarwal <sid0@fb.com>
parents: 24258
diff changeset
   163
  
76225ab5a5da cmdutil.tryimportone: allow importing relative patches with --bypass
Siddharth Agarwal <sid0@fb.com>
parents: 24258
diff changeset
   164
  $ hg diff --change 3 --git
76225ab5a5da cmdutil.tryimportone: allow importing relative patches with --bypass
Siddharth Agarwal <sid0@fb.com>
parents: 24258
diff changeset
   165
  diff --git a/dir/a b/dir/a
76225ab5a5da cmdutil.tryimportone: allow importing relative patches with --bypass
Siddharth Agarwal <sid0@fb.com>
parents: 24258
diff changeset
   166
  new file mode 100644
76225ab5a5da cmdutil.tryimportone: allow importing relative patches with --bypass
Siddharth Agarwal <sid0@fb.com>
parents: 24258
diff changeset
   167
  --- /dev/null
76225ab5a5da cmdutil.tryimportone: allow importing relative patches with --bypass
Siddharth Agarwal <sid0@fb.com>
parents: 24258
diff changeset
   168
  +++ b/dir/a
76225ab5a5da cmdutil.tryimportone: allow importing relative patches with --bypass
Siddharth Agarwal <sid0@fb.com>
parents: 24258
diff changeset
   169
  @@ -0,0 +1,1 @@
76225ab5a5da cmdutil.tryimportone: allow importing relative patches with --bypass
Siddharth Agarwal <sid0@fb.com>
parents: 24258
diff changeset
   170
  +a
76225ab5a5da cmdutil.tryimportone: allow importing relative patches with --bypass
Siddharth Agarwal <sid0@fb.com>
parents: 24258
diff changeset
   171
  diff --git a/dir/d b/dir/d
76225ab5a5da cmdutil.tryimportone: allow importing relative patches with --bypass
Siddharth Agarwal <sid0@fb.com>
parents: 24258
diff changeset
   172
  deleted file mode 100644
76225ab5a5da cmdutil.tryimportone: allow importing relative patches with --bypass
Siddharth Agarwal <sid0@fb.com>
parents: 24258
diff changeset
   173
  --- a/dir/d
76225ab5a5da cmdutil.tryimportone: allow importing relative patches with --bypass
Siddharth Agarwal <sid0@fb.com>
parents: 24258
diff changeset
   174
  +++ /dev/null
76225ab5a5da cmdutil.tryimportone: allow importing relative patches with --bypass
Siddharth Agarwal <sid0@fb.com>
parents: 24258
diff changeset
   175
  @@ -1,1 +0,0 @@
76225ab5a5da cmdutil.tryimportone: allow importing relative patches with --bypass
Siddharth Agarwal <sid0@fb.com>
parents: 24258
diff changeset
   176
  -d
76225ab5a5da cmdutil.tryimportone: allow importing relative patches with --bypass
Siddharth Agarwal <sid0@fb.com>
parents: 24258
diff changeset
   177
  diff --git a/dir/dir2/b b/dir/dir2/b2
76225ab5a5da cmdutil.tryimportone: allow importing relative patches with --bypass
Siddharth Agarwal <sid0@fb.com>
parents: 24258
diff changeset
   178
  rename from dir/dir2/b
76225ab5a5da cmdutil.tryimportone: allow importing relative patches with --bypass
Siddharth Agarwal <sid0@fb.com>
parents: 24258
diff changeset
   179
  rename to dir/dir2/b2
76225ab5a5da cmdutil.tryimportone: allow importing relative patches with --bypass
Siddharth Agarwal <sid0@fb.com>
parents: 24258
diff changeset
   180
  diff --git a/dir/dir2/c b/dir/dir2/c
76225ab5a5da cmdutil.tryimportone: allow importing relative patches with --bypass
Siddharth Agarwal <sid0@fb.com>
parents: 24258
diff changeset
   181
  --- a/dir/dir2/c
76225ab5a5da cmdutil.tryimportone: allow importing relative patches with --bypass
Siddharth Agarwal <sid0@fb.com>
parents: 24258
diff changeset
   182
  +++ b/dir/dir2/c
76225ab5a5da cmdutil.tryimportone: allow importing relative patches with --bypass
Siddharth Agarwal <sid0@fb.com>
parents: 24258
diff changeset
   183
  @@ -1,1 +1,2 @@
76225ab5a5da cmdutil.tryimportone: allow importing relative patches with --bypass
Siddharth Agarwal <sid0@fb.com>
parents: 24258
diff changeset
   184
   cc
76225ab5a5da cmdutil.tryimportone: allow importing relative patches with --bypass
Siddharth Agarwal <sid0@fb.com>
parents: 24258
diff changeset
   185
  +cc
76225ab5a5da cmdutil.tryimportone: allow importing relative patches with --bypass
Siddharth Agarwal <sid0@fb.com>
parents: 24258
diff changeset
   186
  $ hg -q --config extensions.strip= strip .
76225ab5a5da cmdutil.tryimportone: allow importing relative patches with --bypass
Siddharth Agarwal <sid0@fb.com>
parents: 24258
diff changeset
   187
14611
adbf5e7df96d import: add --bypass option
Patrick Mezard <pmezard@gmail.com>
parents:
diff changeset
   188
Test unsupported combinations
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
  $ hg import --bypass --no-commit ../test.diff
45740
d1cabce5ef05 import: leverage cmdutil.check_incompatible_arguments()
Martin von Zweigbergk <martinvonz@google.com>
parents: 39707
diff changeset
   191
  abort: cannot specify both --no-commit and --bypass
45827
8d72e29ad1e0 errors: introduce InputError and use it from commands and cmdutil
Martin von Zweigbergk <martinvonz@google.com>
parents: 45740
diff changeset
   192
  [10]
14611
adbf5e7df96d import: add --bypass option
Patrick Mezard <pmezard@gmail.com>
parents:
diff changeset
   193
  $ hg import --bypass --similarity 50 ../test.diff
adbf5e7df96d import: add --bypass option
Patrick Mezard <pmezard@gmail.com>
parents:
diff changeset
   194
  abort: cannot use --similarity with --bypass
45827
8d72e29ad1e0 errors: introduce InputError and use it from commands and cmdutil
Martin von Zweigbergk <martinvonz@google.com>
parents: 45740
diff changeset
   195
  [10]
24258
093e8a5e995f commands.import: accept a prefix option
Siddharth Agarwal <sid0@fb.com>
parents: 22947
diff changeset
   196
  $ hg import --exact --prefix dir/ ../test.diff
45740
d1cabce5ef05 import: leverage cmdutil.check_incompatible_arguments()
Martin von Zweigbergk <martinvonz@google.com>
parents: 39707
diff changeset
   197
  abort: cannot specify both --exact and --prefix
45827
8d72e29ad1e0 errors: introduce InputError and use it from commands and cmdutil
Martin von Zweigbergk <martinvonz@google.com>
parents: 45740
diff changeset
   198
  [10]
14611
adbf5e7df96d import: add --bypass option
Patrick Mezard <pmezard@gmail.com>
parents:
diff changeset
   199
adbf5e7df96d import: add --bypass option
Patrick Mezard <pmezard@gmail.com>
parents:
diff changeset
   200
Test commit editor
21417
308aaeb956e2 import: use "getcommiteditor()" instead of explicit editor choice
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 20117
diff changeset
   201
(this also tests that editor is invoked, if the patch doesn't contain
308aaeb956e2 import: use "getcommiteditor()" instead of explicit editor choice
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 20117
diff changeset
   202
the commit message, regardless of '--edit')
14611
adbf5e7df96d import: add --bypass option
Patrick Mezard <pmezard@gmail.com>
parents:
diff changeset
   203
16124
0e0060bf2f44 patch: fuzz more aggressively to match patch(1) behaviour
Patrick Mezard <patrick@mezard.eu>
parents: 15623
diff changeset
   204
  $ cat > ../test.diff <<EOF
0e0060bf2f44 patch: fuzz more aggressively to match patch(1) behaviour
Patrick Mezard <patrick@mezard.eu>
parents: 15623
diff changeset
   205
  > 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
   206
  > --- 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
   207
  > +++ 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
   208
  > @@ -1,1 +1,2 @@
0e0060bf2f44 patch: fuzz more aggressively to match patch(1) behaviour
Patrick Mezard <patrick@mezard.eu>
parents: 15623
diff changeset
   209
  > -a
0e0060bf2f44 patch: fuzz more aggressively to match patch(1) behaviour
Patrick Mezard <patrick@mezard.eu>
parents: 15623
diff changeset
   210
  > +b
0e0060bf2f44 patch: fuzz more aggressively to match patch(1) behaviour
Patrick Mezard <patrick@mezard.eu>
parents: 15623
diff changeset
   211
  > +c
0e0060bf2f44 patch: fuzz more aggressively to match patch(1) behaviour
Patrick Mezard <patrick@mezard.eu>
parents: 15623
diff changeset
   212
  > EOF
14611
adbf5e7df96d import: add --bypass option
Patrick Mezard <pmezard@gmail.com>
parents:
diff changeset
   213
  $ HGEDITOR=cat hg import --bypass ../test.diff
adbf5e7df96d import: add --bypass option
Patrick Mezard <pmezard@gmail.com>
parents:
diff changeset
   214
  applying ../test.diff
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
  
adbf5e7df96d import: add --bypass option
Patrick Mezard <pmezard@gmail.com>
parents:
diff changeset
   217
  HG: Enter commit message.  Lines beginning with 'HG:' are removed.
adbf5e7df96d import: add --bypass option
Patrick Mezard <pmezard@gmail.com>
parents:
diff changeset
   218
  HG: Leave message empty to abort commit.
adbf5e7df96d import: add --bypass option
Patrick Mezard <pmezard@gmail.com>
parents:
diff changeset
   219
  HG: --
adbf5e7df96d import: add --bypass option
Patrick Mezard <pmezard@gmail.com>
parents:
diff changeset
   220
  HG: user: test
adbf5e7df96d import: add --bypass option
Patrick Mezard <pmezard@gmail.com>
parents:
diff changeset
   221
  HG: branch 'default'
adbf5e7df96d import: add --bypass option
Patrick Mezard <pmezard@gmail.com>
parents:
diff changeset
   222
  HG: changed a
adbf5e7df96d import: add --bypass option
Patrick Mezard <pmezard@gmail.com>
parents:
diff changeset
   223
  abort: empty commit message
45827
8d72e29ad1e0 errors: introduce InputError and use it from commands and cmdutil
Martin von Zweigbergk <martinvonz@google.com>
parents: 45740
diff changeset
   224
  [10]
14611
adbf5e7df96d import: add --bypass option
Patrick Mezard <pmezard@gmail.com>
parents:
diff changeset
   225
adbf5e7df96d import: add --bypass option
Patrick Mezard <pmezard@gmail.com>
parents:
diff changeset
   226
Test patch.eol is handled
21417
308aaeb956e2 import: use "getcommiteditor()" instead of explicit editor choice
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 20117
diff changeset
   227
(this also tests that editor is not invoked for '--bypass', if the
308aaeb956e2 import: use "getcommiteditor()" instead of explicit editor choice
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 20117
diff changeset
   228
commit message is explicitly specified, regardless of '--edit')
14611
adbf5e7df96d import: add --bypass option
Patrick Mezard <pmezard@gmail.com>
parents:
diff changeset
   229
39707
5abc47d4ca6b tests: quote PYTHON usage
Matt Harbison <matt_harbison@yahoo.com>
parents: 36027
diff changeset
   230
  $ "$PYTHON" -c 'open("a", "wb").write(b"a\r\n")'
14611
adbf5e7df96d import: add --bypass option
Patrick Mezard <pmezard@gmail.com>
parents:
diff changeset
   231
  $ hg ci -m makeacrlf
21417
308aaeb956e2 import: use "getcommiteditor()" instead of explicit editor choice
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 20117
diff changeset
   232
  $ HGEDITOR=cat hg import -m 'should fail because of eol' --edit --bypass ../test.diff
14611
adbf5e7df96d import: add --bypass option
Patrick Mezard <pmezard@gmail.com>
parents:
diff changeset
   233
  applying ../test.diff
adbf5e7df96d import: add --bypass option
Patrick Mezard <pmezard@gmail.com>
parents:
diff changeset
   234
  patching file a
adbf5e7df96d import: add --bypass option
Patrick Mezard <pmezard@gmail.com>
parents:
diff changeset
   235
  Hunk #1 FAILED at 0
adbf5e7df96d import: add --bypass option
Patrick Mezard <pmezard@gmail.com>
parents:
diff changeset
   236
  abort: patch failed to apply
48363
6a454e7053a1 errors: return more detailed errors when failing to parse or apply patch
Martin von Zweigbergk <martinvonz@google.com>
parents: 45827
diff changeset
   237
  [20]
14611
adbf5e7df96d import: add --bypass option
Patrick Mezard <pmezard@gmail.com>
parents:
diff changeset
   238
  $ 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
   239
  applying ../test.diff
adbf5e7df96d import: add --bypass option
Patrick Mezard <pmezard@gmail.com>
parents:
diff changeset
   240
  $ shortlog
16124
0e0060bf2f44 patch: fuzz more aggressively to match patch(1) behaviour
Patrick Mezard <patrick@mezard.eu>
parents: 15623
diff changeset
   241
  o  3:c606edafba99 test 0 0 - default - test patch.eol
14611
adbf5e7df96d import: add --bypass option
Patrick Mezard <pmezard@gmail.com>
parents:
diff changeset
   242
  |
adbf5e7df96d import: add --bypass option
Patrick Mezard <pmezard@gmail.com>
parents:
diff changeset
   243
  @  2:872023de769d test 0 0 - default - makeacrlf
adbf5e7df96d import: add --bypass option
Patrick Mezard <pmezard@gmail.com>
parents:
diff changeset
   244
  |
adbf5e7df96d import: add --bypass option
Patrick Mezard <pmezard@gmail.com>
parents:
diff changeset
   245
  | o  1:4e322f7ce8e3 test 0 0 - foo - changea
adbf5e7df96d import: add --bypass option
Patrick Mezard <pmezard@gmail.com>
parents:
diff changeset
   246
  |/
adbf5e7df96d import: add --bypass option
Patrick Mezard <pmezard@gmail.com>
parents:
diff changeset
   247
  o  0:07f494440405 test 0 0 - default - adda
adbf5e7df96d import: add --bypass option
Patrick Mezard <pmezard@gmail.com>
parents:
diff changeset
   248
  
adbf5e7df96d import: add --bypass option
Patrick Mezard <pmezard@gmail.com>
parents:
diff changeset
   249
adbf5e7df96d import: add --bypass option
Patrick Mezard <pmezard@gmail.com>
parents:
diff changeset
   250
Test applying multiple patches
adbf5e7df96d import: add --bypass option
Patrick Mezard <pmezard@gmail.com>
parents:
diff changeset
   251
adbf5e7df96d import: add --bypass option
Patrick Mezard <pmezard@gmail.com>
parents:
diff changeset
   252
  $ hg up -qC 0
adbf5e7df96d import: add --bypass option
Patrick Mezard <pmezard@gmail.com>
parents:
diff changeset
   253
  $ echo e > e
adbf5e7df96d import: add --bypass option
Patrick Mezard <pmezard@gmail.com>
parents:
diff changeset
   254
  $ hg ci -Am adde
adbf5e7df96d import: add --bypass option
Patrick Mezard <pmezard@gmail.com>
parents:
diff changeset
   255
  adding e
adbf5e7df96d import: add --bypass option
Patrick Mezard <pmezard@gmail.com>
parents:
diff changeset
   256
  created new head
adbf5e7df96d import: add --bypass option
Patrick Mezard <pmezard@gmail.com>
parents:
diff changeset
   257
  $ hg export . > ../patch1.diff
adbf5e7df96d import: add --bypass option
Patrick Mezard <pmezard@gmail.com>
parents:
diff changeset
   258
  $ hg up -qC 1
adbf5e7df96d import: add --bypass option
Patrick Mezard <pmezard@gmail.com>
parents:
diff changeset
   259
  $ echo f > f
adbf5e7df96d import: add --bypass option
Patrick Mezard <pmezard@gmail.com>
parents:
diff changeset
   260
  $ hg ci -Am addf
adbf5e7df96d import: add --bypass option
Patrick Mezard <pmezard@gmail.com>
parents:
diff changeset
   261
  adding f
adbf5e7df96d import: add --bypass option
Patrick Mezard <pmezard@gmail.com>
parents:
diff changeset
   262
  $ hg export . > ../patch2.diff
adbf5e7df96d import: add --bypass option
Patrick Mezard <pmezard@gmail.com>
parents:
diff changeset
   263
  $ cd ..
adbf5e7df96d import: add --bypass option
Patrick Mezard <pmezard@gmail.com>
parents:
diff changeset
   264
  $ hg clone -r1 repo-options repo-multi1
adbf5e7df96d import: add --bypass option
Patrick Mezard <pmezard@gmail.com>
parents:
diff changeset
   265
  adding changesets
adbf5e7df96d import: add --bypass option
Patrick Mezard <pmezard@gmail.com>
parents:
diff changeset
   266
  adding manifests
adbf5e7df96d import: add --bypass option
Patrick Mezard <pmezard@gmail.com>
parents:
diff changeset
   267
  adding file changes
adbf5e7df96d import: add --bypass option
Patrick Mezard <pmezard@gmail.com>
parents:
diff changeset
   268
  added 2 changesets with 2 changes to 1 files
34661
eb586ed5d8ce transaction-summary: show the range of new revisions upon pull/unbundle (BC)
Denis Laxalde <denis.laxalde@logilab.fr>
parents: 29900
diff changeset
   269
  new changesets 07f494440405:4e322f7ce8e3
14611
adbf5e7df96d import: add --bypass option
Patrick Mezard <pmezard@gmail.com>
parents:
diff changeset
   270
  updating to branch foo
adbf5e7df96d import: add --bypass option
Patrick Mezard <pmezard@gmail.com>
parents:
diff changeset
   271
  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
   272
  $ cd repo-multi1
adbf5e7df96d import: add --bypass option
Patrick Mezard <pmezard@gmail.com>
parents:
diff changeset
   273
  $ hg up 0
adbf5e7df96d import: add --bypass option
Patrick Mezard <pmezard@gmail.com>
parents:
diff changeset
   274
  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
   275
  $ hg import --bypass ../patch1.diff ../patch2.diff
adbf5e7df96d import: add --bypass option
Patrick Mezard <pmezard@gmail.com>
parents:
diff changeset
   276
  applying ../patch1.diff
adbf5e7df96d import: add --bypass option
Patrick Mezard <pmezard@gmail.com>
parents:
diff changeset
   277
  applying ../patch2.diff
adbf5e7df96d import: add --bypass option
Patrick Mezard <pmezard@gmail.com>
parents:
diff changeset
   278
  $ shortlog
adbf5e7df96d import: add --bypass option
Patrick Mezard <pmezard@gmail.com>
parents:
diff changeset
   279
  o  3:bc8ca3f8a7c4 test 0 0 - default - addf
adbf5e7df96d import: add --bypass option
Patrick Mezard <pmezard@gmail.com>
parents:
diff changeset
   280
  |
adbf5e7df96d import: add --bypass option
Patrick Mezard <pmezard@gmail.com>
parents:
diff changeset
   281
  o  2:16581080145e test 0 0 - default - adde
adbf5e7df96d import: add --bypass option
Patrick Mezard <pmezard@gmail.com>
parents:
diff changeset
   282
  |
adbf5e7df96d import: add --bypass option
Patrick Mezard <pmezard@gmail.com>
parents:
diff changeset
   283
  | o  1:4e322f7ce8e3 test 0 0 - foo - changea
adbf5e7df96d import: add --bypass option
Patrick Mezard <pmezard@gmail.com>
parents:
diff changeset
   284
  |/
adbf5e7df96d import: add --bypass option
Patrick Mezard <pmezard@gmail.com>
parents:
diff changeset
   285
  @  0:07f494440405 test 0 0 - default - adda
adbf5e7df96d import: add --bypass option
Patrick Mezard <pmezard@gmail.com>
parents:
diff changeset
   286
  
adbf5e7df96d import: add --bypass option
Patrick Mezard <pmezard@gmail.com>
parents:
diff changeset
   287
adbf5e7df96d import: add --bypass option
Patrick Mezard <pmezard@gmail.com>
parents:
diff changeset
   288
Test applying multiple patches with --exact
adbf5e7df96d import: add --bypass option
Patrick Mezard <pmezard@gmail.com>
parents:
diff changeset
   289
adbf5e7df96d import: add --bypass option
Patrick Mezard <pmezard@gmail.com>
parents:
diff changeset
   290
  $ cd ..
adbf5e7df96d import: add --bypass option
Patrick Mezard <pmezard@gmail.com>
parents:
diff changeset
   291
  $ hg clone -r1 repo-options repo-multi2
adbf5e7df96d import: add --bypass option
Patrick Mezard <pmezard@gmail.com>
parents:
diff changeset
   292
  adding changesets
adbf5e7df96d import: add --bypass option
Patrick Mezard <pmezard@gmail.com>
parents:
diff changeset
   293
  adding manifests
adbf5e7df96d import: add --bypass option
Patrick Mezard <pmezard@gmail.com>
parents:
diff changeset
   294
  adding file changes
adbf5e7df96d import: add --bypass option
Patrick Mezard <pmezard@gmail.com>
parents:
diff changeset
   295
  added 2 changesets with 2 changes to 1 files
34661
eb586ed5d8ce transaction-summary: show the range of new revisions upon pull/unbundle (BC)
Denis Laxalde <denis.laxalde@logilab.fr>
parents: 29900
diff changeset
   296
  new changesets 07f494440405:4e322f7ce8e3
14611
adbf5e7df96d import: add --bypass option
Patrick Mezard <pmezard@gmail.com>
parents:
diff changeset
   297
  updating to branch foo
adbf5e7df96d import: add --bypass option
Patrick Mezard <pmezard@gmail.com>
parents:
diff changeset
   298
  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
   299
  $ cd repo-multi2
adbf5e7df96d import: add --bypass option
Patrick Mezard <pmezard@gmail.com>
parents:
diff changeset
   300
  $ hg import --bypass --exact ../patch1.diff ../patch2.diff
adbf5e7df96d import: add --bypass option
Patrick Mezard <pmezard@gmail.com>
parents:
diff changeset
   301
  applying ../patch1.diff
adbf5e7df96d import: add --bypass option
Patrick Mezard <pmezard@gmail.com>
parents:
diff changeset
   302
  applying ../patch2.diff
adbf5e7df96d import: add --bypass option
Patrick Mezard <pmezard@gmail.com>
parents:
diff changeset
   303
  $ shortlog
adbf5e7df96d import: add --bypass option
Patrick Mezard <pmezard@gmail.com>
parents:
diff changeset
   304
  o  3:d60cb8989666 test 0 0 - foo - addf
adbf5e7df96d import: add --bypass option
Patrick Mezard <pmezard@gmail.com>
parents:
diff changeset
   305
  |
adbf5e7df96d import: add --bypass option
Patrick Mezard <pmezard@gmail.com>
parents:
diff changeset
   306
  | o  2:16581080145e test 0 0 - default - adde
adbf5e7df96d import: add --bypass option
Patrick Mezard <pmezard@gmail.com>
parents:
diff changeset
   307
  | |
adbf5e7df96d import: add --bypass option
Patrick Mezard <pmezard@gmail.com>
parents:
diff changeset
   308
  @ |  1:4e322f7ce8e3 test 0 0 - foo - changea
adbf5e7df96d import: add --bypass option
Patrick Mezard <pmezard@gmail.com>
parents:
diff changeset
   309
  |/
adbf5e7df96d import: add --bypass option
Patrick Mezard <pmezard@gmail.com>
parents:
diff changeset
   310
  o  0:07f494440405 test 0 0 - default - adda
adbf5e7df96d import: add --bypass option
Patrick Mezard <pmezard@gmail.com>
parents:
diff changeset
   311
  
adbf5e7df96d import: add --bypass option
Patrick Mezard <pmezard@gmail.com>
parents:
diff changeset
   312
adbf5e7df96d import: add --bypass option
Patrick Mezard <pmezard@gmail.com>
parents:
diff changeset
   313
  $ cd ..
adbf5e7df96d import: add --bypass option
Patrick Mezard <pmezard@gmail.com>
parents:
diff changeset
   314
22278
ffaaa80fa724 import: avoid editor invocation when importing with "--exact" for exact-ness
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 22277
diff changeset
   315
Test avoiding editor invocation at applying the patch with --exact
ffaaa80fa724 import: avoid editor invocation when importing with "--exact" for exact-ness
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 22277
diff changeset
   316
even if commit message is empty
ffaaa80fa724 import: avoid editor invocation when importing with "--exact" for exact-ness
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 22277
diff changeset
   317
ffaaa80fa724 import: avoid editor invocation when importing with "--exact" for exact-ness
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 22277
diff changeset
   318
  $ cd repo-options
ffaaa80fa724 import: avoid editor invocation when importing with "--exact" for exact-ness
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 22277
diff changeset
   319
ffaaa80fa724 import: avoid editor invocation when importing with "--exact" for exact-ness
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 22277
diff changeset
   320
  $ echo a >> a
ffaaa80fa724 import: avoid editor invocation when importing with "--exact" for exact-ness
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 22277
diff changeset
   321
  $ hg commit -m ' '
ffaaa80fa724 import: avoid editor invocation when importing with "--exact" for exact-ness
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 22277
diff changeset
   322
  $ hg tip -T "{node}\n"
ffaaa80fa724 import: avoid editor invocation when importing with "--exact" for exact-ness
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 22277
diff changeset
   323
  1b77bc7d1db9f0e7f1716d515b630516ab386c89
ffaaa80fa724 import: avoid editor invocation when importing with "--exact" for exact-ness
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 22277
diff changeset
   324
  $ hg export -o ../empty-log.diff .
ffaaa80fa724 import: avoid editor invocation when importing with "--exact" for exact-ness
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 22277
diff changeset
   325
  $ hg update -q -C ".^1"
ffaaa80fa724 import: avoid editor invocation when importing with "--exact" for exact-ness
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 22277
diff changeset
   326
  $ hg --config extensions.strip= strip -q tip
ffaaa80fa724 import: avoid editor invocation when importing with "--exact" for exact-ness
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 22277
diff changeset
   327
  $ HGEDITOR=cat hg import --exact --bypass ../empty-log.diff
ffaaa80fa724 import: avoid editor invocation when importing with "--exact" for exact-ness
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 22277
diff changeset
   328
  applying ../empty-log.diff
ffaaa80fa724 import: avoid editor invocation when importing with "--exact" for exact-ness
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 22277
diff changeset
   329
  $ hg tip -T "{node}\n"
ffaaa80fa724 import: avoid editor invocation when importing with "--exact" for exact-ness
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 22277
diff changeset
   330
  1b77bc7d1db9f0e7f1716d515b630516ab386c89
ffaaa80fa724 import: avoid editor invocation when importing with "--exact" for exact-ness
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 22277
diff changeset
   331
ffaaa80fa724 import: avoid editor invocation when importing with "--exact" for exact-ness
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 22277
diff changeset
   332
  $ cd ..
ffaaa80fa724 import: avoid editor invocation when importing with "--exact" for exact-ness
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 22277
diff changeset
   333
16899
8149ff405c78 tests: convert some 'hghave execbit' to #if
Mads Kiilerich <mads@kiilerich.com>
parents: 16124
diff changeset
   334
#if symlink execbit
8149ff405c78 tests: convert some 'hghave execbit' to #if
Mads Kiilerich <mads@kiilerich.com>
parents: 16124
diff changeset
   335
14611
adbf5e7df96d import: add --bypass option
Patrick Mezard <pmezard@gmail.com>
parents:
diff changeset
   336
Test complicated patch with --exact
adbf5e7df96d import: add --bypass option
Patrick Mezard <pmezard@gmail.com>
parents:
diff changeset
   337
adbf5e7df96d import: add --bypass option
Patrick Mezard <pmezard@gmail.com>
parents:
diff changeset
   338
  $ hg init repo-exact
adbf5e7df96d import: add --bypass option
Patrick Mezard <pmezard@gmail.com>
parents:
diff changeset
   339
  $ cd repo-exact
adbf5e7df96d import: add --bypass option
Patrick Mezard <pmezard@gmail.com>
parents:
diff changeset
   340
  $ echo a > a
adbf5e7df96d import: add --bypass option
Patrick Mezard <pmezard@gmail.com>
parents:
diff changeset
   341
  $ echo c > c
adbf5e7df96d import: add --bypass option
Patrick Mezard <pmezard@gmail.com>
parents:
diff changeset
   342
  $ echo d > d
adbf5e7df96d import: add --bypass option
Patrick Mezard <pmezard@gmail.com>
parents:
diff changeset
   343
  $ echo e > e
adbf5e7df96d import: add --bypass option
Patrick Mezard <pmezard@gmail.com>
parents:
diff changeset
   344
  $ echo f > f
adbf5e7df96d import: add --bypass option
Patrick Mezard <pmezard@gmail.com>
parents:
diff changeset
   345
  $ chmod +x f
adbf5e7df96d import: add --bypass option
Patrick Mezard <pmezard@gmail.com>
parents:
diff changeset
   346
  $ ln -s c linkc
adbf5e7df96d import: add --bypass option
Patrick Mezard <pmezard@gmail.com>
parents:
diff changeset
   347
  $ hg ci -Am t
adbf5e7df96d import: add --bypass option
Patrick Mezard <pmezard@gmail.com>
parents:
diff changeset
   348
  adding a
adbf5e7df96d import: add --bypass option
Patrick Mezard <pmezard@gmail.com>
parents:
diff changeset
   349
  adding c
adbf5e7df96d import: add --bypass option
Patrick Mezard <pmezard@gmail.com>
parents:
diff changeset
   350
  adding d
adbf5e7df96d import: add --bypass option
Patrick Mezard <pmezard@gmail.com>
parents:
diff changeset
   351
  adding e
adbf5e7df96d import: add --bypass option
Patrick Mezard <pmezard@gmail.com>
parents:
diff changeset
   352
  adding f
adbf5e7df96d import: add --bypass option
Patrick Mezard <pmezard@gmail.com>
parents:
diff changeset
   353
  adding linkc
adbf5e7df96d import: add --bypass option
Patrick Mezard <pmezard@gmail.com>
parents:
diff changeset
   354
  $ hg cp a aa1
adbf5e7df96d import: add --bypass option
Patrick Mezard <pmezard@gmail.com>
parents:
diff changeset
   355
  $ echo b >> a
adbf5e7df96d import: add --bypass option
Patrick Mezard <pmezard@gmail.com>
parents:
diff changeset
   356
  $ echo b > b
adbf5e7df96d import: add --bypass option
Patrick Mezard <pmezard@gmail.com>
parents:
diff changeset
   357
  $ hg add b
adbf5e7df96d import: add --bypass option
Patrick Mezard <pmezard@gmail.com>
parents:
diff changeset
   358
  $ hg cp a aa2
adbf5e7df96d import: add --bypass option
Patrick Mezard <pmezard@gmail.com>
parents:
diff changeset
   359
  $ echo aa >> aa2
adbf5e7df96d import: add --bypass option
Patrick Mezard <pmezard@gmail.com>
parents:
diff changeset
   360
  $ chmod +x e
adbf5e7df96d import: add --bypass option
Patrick Mezard <pmezard@gmail.com>
parents:
diff changeset
   361
  $ chmod -x f
adbf5e7df96d import: add --bypass option
Patrick Mezard <pmezard@gmail.com>
parents:
diff changeset
   362
  $ ln -s a linka
adbf5e7df96d import: add --bypass option
Patrick Mezard <pmezard@gmail.com>
parents:
diff changeset
   363
  $ hg rm d
adbf5e7df96d import: add --bypass option
Patrick Mezard <pmezard@gmail.com>
parents:
diff changeset
   364
  $ hg rm linkc
adbf5e7df96d import: add --bypass option
Patrick Mezard <pmezard@gmail.com>
parents:
diff changeset
   365
  $ hg mv c cc
adbf5e7df96d import: add --bypass option
Patrick Mezard <pmezard@gmail.com>
parents:
diff changeset
   366
  $ hg ci -m patch
adbf5e7df96d import: add --bypass option
Patrick Mezard <pmezard@gmail.com>
parents:
diff changeset
   367
  $ hg export --git . > ../test.diff
adbf5e7df96d import: add --bypass option
Patrick Mezard <pmezard@gmail.com>
parents:
diff changeset
   368
  $ hg up -C null
adbf5e7df96d import: add --bypass option
Patrick Mezard <pmezard@gmail.com>
parents:
diff changeset
   369
  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
   370
  $ hg purge
adbf5e7df96d import: add --bypass option
Patrick Mezard <pmezard@gmail.com>
parents:
diff changeset
   371
  $ hg st
adbf5e7df96d import: add --bypass option
Patrick Mezard <pmezard@gmail.com>
parents:
diff changeset
   372
  $ hg import --bypass --exact ../test.diff
adbf5e7df96d import: add --bypass option
Patrick Mezard <pmezard@gmail.com>
parents:
diff changeset
   373
  applying ../test.diff
adbf5e7df96d import: add --bypass option
Patrick Mezard <pmezard@gmail.com>
parents:
diff changeset
   374
adbf5e7df96d import: add --bypass option
Patrick Mezard <pmezard@gmail.com>
parents:
diff changeset
   375
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
   376
data. If not, diff both heads to debug it.
adbf5e7df96d import: add --bypass option
Patrick Mezard <pmezard@gmail.com>
parents:
diff changeset
   377
adbf5e7df96d import: add --bypass option
Patrick Mezard <pmezard@gmail.com>
parents:
diff changeset
   378
  $ shortlog
adbf5e7df96d import: add --bypass option
Patrick Mezard <pmezard@gmail.com>
parents:
diff changeset
   379
  o  1:2978fd5c8aa4 test 0 0 - default - patch
adbf5e7df96d import: add --bypass option
Patrick Mezard <pmezard@gmail.com>
parents:
diff changeset
   380
  |
adbf5e7df96d import: add --bypass option
Patrick Mezard <pmezard@gmail.com>
parents:
diff changeset
   381
  o  0:a0e19e636a43 test 0 0 - default - t
adbf5e7df96d import: add --bypass option
Patrick Mezard <pmezard@gmail.com>
parents:
diff changeset
   382
  
16899
8149ff405c78 tests: convert some 'hghave execbit' to #if
Mads Kiilerich <mads@kiilerich.com>
parents: 16124
diff changeset
   383
#endif
16913
f2719b387380 tests: add missing trailing 'cd ..'
Mads Kiilerich <mads@kiilerich.com>
parents: 16899
diff changeset
   384
f2719b387380 tests: add missing trailing 'cd ..'
Mads Kiilerich <mads@kiilerich.com>
parents: 16899
diff changeset
   385
  $ cd ..