tests/test-import-bypass.t
author FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
Wed, 13 Nov 2013 15:55:30 +0900
changeset 20176 4c96c50ef937
parent 20117 aa9385f983fa
child 21417 308aaeb956e2
permissions -rw-r--r--
subrepo: check phase of state in each subrepositories before committing Before this patch, phase of newly created commit is determined by "phases.new-commit" configuration regardless of phase of state in each subrepositories. For example, this may cause the "public" revision in the parent repository referring the "secret" one in subrepository. This patch checks phase of state in each subrepositories before committing in the parent, and aborts or changes phase of newly created commit if subrepositories have more restricted phase than the parent. This patch uses "follow" as default value of "phases.checksubrepos" configuration, because it can keep consistency between phases of the parent and subrepositories without breaking existing tool chains.
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
adbf5e7df96d import: add --bypass option
Patrick Mezard <pmezard@gmail.com>
parents:
diff changeset
    25
adbf5e7df96d import: add --bypass option
Patrick Mezard <pmezard@gmail.com>
parents:
diff changeset
    26
  $ hg import --bypass --exact ../test.diff
adbf5e7df96d import: add --bypass option
Patrick Mezard <pmezard@gmail.com>
parents:
diff changeset
    27
  applying ../test.diff
adbf5e7df96d import: add --bypass option
Patrick Mezard <pmezard@gmail.com>
parents:
diff changeset
    28
  $ shortlog
adbf5e7df96d import: add --bypass option
Patrick Mezard <pmezard@gmail.com>
parents:
diff changeset
    29
  o  1:4e322f7ce8e3 test 0 0 - foo - changea
adbf5e7df96d import: add --bypass option
Patrick Mezard <pmezard@gmail.com>
parents:
diff changeset
    30
  |
adbf5e7df96d import: add --bypass option
Patrick Mezard <pmezard@gmail.com>
parents:
diff changeset
    31
  o  0:07f494440405 test 0 0 - default - adda
adbf5e7df96d import: add --bypass option
Patrick Mezard <pmezard@gmail.com>
parents:
diff changeset
    32
  
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
Test failure without --exact
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
  $ hg import --bypass ../test.diff
adbf5e7df96d import: add --bypass option
Patrick Mezard <pmezard@gmail.com>
parents:
diff changeset
    37
  applying ../test.diff
adbf5e7df96d import: add --bypass option
Patrick Mezard <pmezard@gmail.com>
parents:
diff changeset
    38
  unable to find 'a' for patching
adbf5e7df96d import: add --bypass option
Patrick Mezard <pmezard@gmail.com>
parents:
diff changeset
    39
  abort: patch failed to apply
adbf5e7df96d import: add --bypass option
Patrick Mezard <pmezard@gmail.com>
parents:
diff changeset
    40
  [255]
adbf5e7df96d import: add --bypass option
Patrick Mezard <pmezard@gmail.com>
parents:
diff changeset
    41
  $ hg st
adbf5e7df96d import: add --bypass option
Patrick Mezard <pmezard@gmail.com>
parents:
diff changeset
    42
  $ shortlog
adbf5e7df96d import: add --bypass option
Patrick Mezard <pmezard@gmail.com>
parents:
diff changeset
    43
  o  1:4e322f7ce8e3 test 0 0 - foo - changea
adbf5e7df96d import: add --bypass option
Patrick Mezard <pmezard@gmail.com>
parents:
diff changeset
    44
  |
adbf5e7df96d import: add --bypass option
Patrick Mezard <pmezard@gmail.com>
parents:
diff changeset
    45
  o  0:07f494440405 test 0 0 - default - adda
adbf5e7df96d import: add --bypass option
Patrick Mezard <pmezard@gmail.com>
parents:
diff changeset
    46
  
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
Test --user, --date and --message
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
  $ hg up 0
adbf5e7df96d import: add --bypass option
Patrick Mezard <pmezard@gmail.com>
parents:
diff changeset
    51
  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
    52
  $ 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
    53
  applying ../test.diff
adbf5e7df96d import: add --bypass option
Patrick Mezard <pmezard@gmail.com>
parents:
diff changeset
    54
  $ cat .hg/last-message.txt
adbf5e7df96d import: add --bypass option
Patrick Mezard <pmezard@gmail.com>
parents:
diff changeset
    55
  patch2 (no-eol)
adbf5e7df96d import: add --bypass option
Patrick Mezard <pmezard@gmail.com>
parents:
diff changeset
    56
  $ shortlog
adbf5e7df96d import: add --bypass option
Patrick Mezard <pmezard@gmail.com>
parents:
diff changeset
    57
  o  2:2e127d1da504 test2 1 0 - default - patch2
adbf5e7df96d import: add --bypass option
Patrick Mezard <pmezard@gmail.com>
parents:
diff changeset
    58
  |
adbf5e7df96d import: add --bypass option
Patrick Mezard <pmezard@gmail.com>
parents:
diff changeset
    59
  | o  1:4e322f7ce8e3 test 0 0 - foo - changea
adbf5e7df96d import: add --bypass option
Patrick Mezard <pmezard@gmail.com>
parents:
diff changeset
    60
  |/
adbf5e7df96d import: add --bypass option
Patrick Mezard <pmezard@gmail.com>
parents:
diff changeset
    61
  @  0:07f494440405 test 0 0 - default - adda
adbf5e7df96d import: add --bypass option
Patrick Mezard <pmezard@gmail.com>
parents:
diff changeset
    62
  
15198
62dc0e7ab092 import: wrap a transaction around the whole command
Greg Ward <greg@gerg.ca>
parents: 15194
diff changeset
    63
  $ hg rollback
62dc0e7ab092 import: wrap a transaction around the whole command
Greg Ward <greg@gerg.ca>
parents: 15194
diff changeset
    64
  repository tip rolled back to revision 1 (undo import)
14611
adbf5e7df96d import: add --bypass option
Patrick Mezard <pmezard@gmail.com>
parents:
diff changeset
    65
adbf5e7df96d import: add --bypass option
Patrick Mezard <pmezard@gmail.com>
parents:
diff changeset
    66
Test --import-branch
adbf5e7df96d import: add --bypass option
Patrick Mezard <pmezard@gmail.com>
parents:
diff changeset
    67
adbf5e7df96d import: add --bypass option
Patrick Mezard <pmezard@gmail.com>
parents:
diff changeset
    68
  $ hg import --bypass --import-branch ../test.diff
adbf5e7df96d import: add --bypass option
Patrick Mezard <pmezard@gmail.com>
parents:
diff changeset
    69
  applying ../test.diff
adbf5e7df96d import: add --bypass option
Patrick Mezard <pmezard@gmail.com>
parents:
diff changeset
    70
  $ shortlog
adbf5e7df96d import: add --bypass option
Patrick Mezard <pmezard@gmail.com>
parents:
diff changeset
    71
  o  1:4e322f7ce8e3 test 0 0 - foo - changea
adbf5e7df96d import: add --bypass option
Patrick Mezard <pmezard@gmail.com>
parents:
diff changeset
    72
  |
adbf5e7df96d import: add --bypass option
Patrick Mezard <pmezard@gmail.com>
parents:
diff changeset
    73
  @  0:07f494440405 test 0 0 - default - adda
adbf5e7df96d import: add --bypass option
Patrick Mezard <pmezard@gmail.com>
parents:
diff changeset
    74
  
15198
62dc0e7ab092 import: wrap a transaction around the whole command
Greg Ward <greg@gerg.ca>
parents: 15194
diff changeset
    75
  $ hg rollback
62dc0e7ab092 import: wrap a transaction around the whole command
Greg Ward <greg@gerg.ca>
parents: 15194
diff changeset
    76
  repository tip rolled back to revision 1 (undo import)
14611
adbf5e7df96d import: add --bypass option
Patrick Mezard <pmezard@gmail.com>
parents:
diff changeset
    77
adbf5e7df96d import: add --bypass option
Patrick Mezard <pmezard@gmail.com>
parents:
diff changeset
    78
Test --strip
adbf5e7df96d import: add --bypass option
Patrick Mezard <pmezard@gmail.com>
parents:
diff changeset
    79
adbf5e7df96d import: add --bypass option
Patrick Mezard <pmezard@gmail.com>
parents:
diff changeset
    80
  $ hg import --bypass --strip 0 - <<EOF
adbf5e7df96d import: add --bypass option
Patrick Mezard <pmezard@gmail.com>
parents:
diff changeset
    81
  > # HG changeset patch
adbf5e7df96d import: add --bypass option
Patrick Mezard <pmezard@gmail.com>
parents:
diff changeset
    82
  > # User test
adbf5e7df96d import: add --bypass option
Patrick Mezard <pmezard@gmail.com>
parents:
diff changeset
    83
  > # Date 0 0
adbf5e7df96d import: add --bypass option
Patrick Mezard <pmezard@gmail.com>
parents:
diff changeset
    84
  > # Branch foo
adbf5e7df96d import: add --bypass option
Patrick Mezard <pmezard@gmail.com>
parents:
diff changeset
    85
  > # Node ID 4e322f7ce8e3e4203950eac9ece27bf7e45ffa6c
adbf5e7df96d import: add --bypass option
Patrick Mezard <pmezard@gmail.com>
parents:
diff changeset
    86
  > # Parent  07f4944404050f47db2e5c5071e0e84e7a27bba9
adbf5e7df96d import: add --bypass option
Patrick Mezard <pmezard@gmail.com>
parents:
diff changeset
    87
  > changea
adbf5e7df96d import: add --bypass option
Patrick Mezard <pmezard@gmail.com>
parents:
diff changeset
    88
  > 
adbf5e7df96d import: add --bypass option
Patrick Mezard <pmezard@gmail.com>
parents:
diff changeset
    89
  > diff -r 07f494440405 -r 4e322f7ce8e3 a
adbf5e7df96d import: add --bypass option
Patrick Mezard <pmezard@gmail.com>
parents:
diff changeset
    90
  > --- a	Thu Jan 01 00:00:00 1970 +0000
adbf5e7df96d import: add --bypass option
Patrick Mezard <pmezard@gmail.com>
parents:
diff changeset
    91
  > +++ a	Thu Jan 01 00:00:00 1970 +0000
adbf5e7df96d import: add --bypass option
Patrick Mezard <pmezard@gmail.com>
parents:
diff changeset
    92
  > @@ -1,1 +1,2 @@
adbf5e7df96d import: add --bypass option
Patrick Mezard <pmezard@gmail.com>
parents:
diff changeset
    93
  >  a
adbf5e7df96d import: add --bypass option
Patrick Mezard <pmezard@gmail.com>
parents:
diff changeset
    94
  > +a
adbf5e7df96d import: add --bypass option
Patrick Mezard <pmezard@gmail.com>
parents:
diff changeset
    95
  > EOF
adbf5e7df96d import: add --bypass option
Patrick Mezard <pmezard@gmail.com>
parents:
diff changeset
    96
  applying patch from stdin
15198
62dc0e7ab092 import: wrap a transaction around the whole command
Greg Ward <greg@gerg.ca>
parents: 15194
diff changeset
    97
  $ hg rollback
62dc0e7ab092 import: wrap a transaction around the whole command
Greg Ward <greg@gerg.ca>
parents: 15194
diff changeset
    98
  repository tip rolled back to revision 1 (undo import)
14611
adbf5e7df96d import: add --bypass option
Patrick Mezard <pmezard@gmail.com>
parents:
diff changeset
    99
adbf5e7df96d import: add --bypass option
Patrick Mezard <pmezard@gmail.com>
parents:
diff changeset
   100
Test unsupported combinations
adbf5e7df96d import: add --bypass option
Patrick Mezard <pmezard@gmail.com>
parents:
diff changeset
   101
adbf5e7df96d import: add --bypass option
Patrick Mezard <pmezard@gmail.com>
parents:
diff changeset
   102
  $ hg import --bypass --no-commit ../test.diff
adbf5e7df96d import: add --bypass option
Patrick Mezard <pmezard@gmail.com>
parents:
diff changeset
   103
  abort: cannot use --no-commit with --bypass
adbf5e7df96d import: add --bypass option
Patrick Mezard <pmezard@gmail.com>
parents:
diff changeset
   104
  [255]
adbf5e7df96d import: add --bypass option
Patrick Mezard <pmezard@gmail.com>
parents:
diff changeset
   105
  $ hg import --bypass --similarity 50 ../test.diff
adbf5e7df96d import: add --bypass option
Patrick Mezard <pmezard@gmail.com>
parents:
diff changeset
   106
  abort: cannot use --similarity 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
adbf5e7df96d import: add --bypass option
Patrick Mezard <pmezard@gmail.com>
parents:
diff changeset
   109
Test commit editor
adbf5e7df96d import: add --bypass option
Patrick Mezard <pmezard@gmail.com>
parents:
diff changeset
   110
16124
0e0060bf2f44 patch: fuzz more aggressively to match patch(1) behaviour
Patrick Mezard <patrick@mezard.eu>
parents: 15623
diff changeset
   111
  $ cat > ../test.diff <<EOF
0e0060bf2f44 patch: fuzz more aggressively to match patch(1) behaviour
Patrick Mezard <patrick@mezard.eu>
parents: 15623
diff changeset
   112
  > 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
   113
  > --- 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
   114
  > +++ 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
   115
  > @@ -1,1 +1,2 @@
0e0060bf2f44 patch: fuzz more aggressively to match patch(1) behaviour
Patrick Mezard <patrick@mezard.eu>
parents: 15623
diff changeset
   116
  > -a
0e0060bf2f44 patch: fuzz more aggressively to match patch(1) behaviour
Patrick Mezard <patrick@mezard.eu>
parents: 15623
diff changeset
   117
  > +b
0e0060bf2f44 patch: fuzz more aggressively to match patch(1) behaviour
Patrick Mezard <patrick@mezard.eu>
parents: 15623
diff changeset
   118
  > +c
0e0060bf2f44 patch: fuzz more aggressively to match patch(1) behaviour
Patrick Mezard <patrick@mezard.eu>
parents: 15623
diff changeset
   119
  > EOF
14611
adbf5e7df96d import: add --bypass option
Patrick Mezard <pmezard@gmail.com>
parents:
diff changeset
   120
  $ HGEDITOR=cat hg import --bypass ../test.diff
adbf5e7df96d import: add --bypass option
Patrick Mezard <pmezard@gmail.com>
parents:
diff changeset
   121
  applying ../test.diff
adbf5e7df96d import: add --bypass option
Patrick Mezard <pmezard@gmail.com>
parents:
diff changeset
   122
  
adbf5e7df96d import: add --bypass option
Patrick Mezard <pmezard@gmail.com>
parents:
diff changeset
   123
  
adbf5e7df96d import: add --bypass option
Patrick Mezard <pmezard@gmail.com>
parents:
diff changeset
   124
  HG: Enter commit message.  Lines beginning with 'HG:' are removed.
adbf5e7df96d import: add --bypass option
Patrick Mezard <pmezard@gmail.com>
parents:
diff changeset
   125
  HG: Leave message empty to abort commit.
adbf5e7df96d import: add --bypass option
Patrick Mezard <pmezard@gmail.com>
parents:
diff changeset
   126
  HG: --
adbf5e7df96d import: add --bypass option
Patrick Mezard <pmezard@gmail.com>
parents:
diff changeset
   127
  HG: user: test
adbf5e7df96d import: add --bypass option
Patrick Mezard <pmezard@gmail.com>
parents:
diff changeset
   128
  HG: branch 'default'
adbf5e7df96d import: add --bypass option
Patrick Mezard <pmezard@gmail.com>
parents:
diff changeset
   129
  HG: changed a
adbf5e7df96d import: add --bypass option
Patrick Mezard <pmezard@gmail.com>
parents:
diff changeset
   130
  abort: empty commit message
adbf5e7df96d import: add --bypass option
Patrick Mezard <pmezard@gmail.com>
parents:
diff changeset
   131
  [255]
adbf5e7df96d import: add --bypass option
Patrick Mezard <pmezard@gmail.com>
parents:
diff changeset
   132
adbf5e7df96d import: add --bypass option
Patrick Mezard <pmezard@gmail.com>
parents:
diff changeset
   133
Test patch.eol is handled
adbf5e7df96d import: add --bypass option
Patrick Mezard <pmezard@gmail.com>
parents:
diff changeset
   134
adbf5e7df96d import: add --bypass option
Patrick Mezard <pmezard@gmail.com>
parents:
diff changeset
   135
  $ python -c 'file("a", "wb").write("a\r\n")'
adbf5e7df96d import: add --bypass option
Patrick Mezard <pmezard@gmail.com>
parents:
diff changeset
   136
  $ hg ci -m makeacrlf
adbf5e7df96d import: add --bypass option
Patrick Mezard <pmezard@gmail.com>
parents:
diff changeset
   137
  $ hg import -m 'should fail because of eol' --bypass ../test.diff
adbf5e7df96d import: add --bypass option
Patrick Mezard <pmezard@gmail.com>
parents:
diff changeset
   138
  applying ../test.diff
adbf5e7df96d import: add --bypass option
Patrick Mezard <pmezard@gmail.com>
parents:
diff changeset
   139
  patching file a
adbf5e7df96d import: add --bypass option
Patrick Mezard <pmezard@gmail.com>
parents:
diff changeset
   140
  Hunk #1 FAILED at 0
adbf5e7df96d import: add --bypass option
Patrick Mezard <pmezard@gmail.com>
parents:
diff changeset
   141
  abort: patch failed to apply
adbf5e7df96d import: add --bypass option
Patrick Mezard <pmezard@gmail.com>
parents:
diff changeset
   142
  [255]
adbf5e7df96d import: add --bypass option
Patrick Mezard <pmezard@gmail.com>
parents:
diff changeset
   143
  $ 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
   144
  applying ../test.diff
adbf5e7df96d import: add --bypass option
Patrick Mezard <pmezard@gmail.com>
parents:
diff changeset
   145
  $ shortlog
16124
0e0060bf2f44 patch: fuzz more aggressively to match patch(1) behaviour
Patrick Mezard <patrick@mezard.eu>
parents: 15623
diff changeset
   146
  o  3:c606edafba99 test 0 0 - default - test patch.eol
14611
adbf5e7df96d import: add --bypass option
Patrick Mezard <pmezard@gmail.com>
parents:
diff changeset
   147
  |
adbf5e7df96d import: add --bypass option
Patrick Mezard <pmezard@gmail.com>
parents:
diff changeset
   148
  @  2:872023de769d test 0 0 - default - makeacrlf
adbf5e7df96d import: add --bypass option
Patrick Mezard <pmezard@gmail.com>
parents:
diff changeset
   149
  |
adbf5e7df96d import: add --bypass option
Patrick Mezard <pmezard@gmail.com>
parents:
diff changeset
   150
  | o  1:4e322f7ce8e3 test 0 0 - foo - changea
adbf5e7df96d import: add --bypass option
Patrick Mezard <pmezard@gmail.com>
parents:
diff changeset
   151
  |/
adbf5e7df96d import: add --bypass option
Patrick Mezard <pmezard@gmail.com>
parents:
diff changeset
   152
  o  0:07f494440405 test 0 0 - default - adda
adbf5e7df96d import: add --bypass option
Patrick Mezard <pmezard@gmail.com>
parents:
diff changeset
   153
  
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
Test applying multiple patches
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
  $ hg up -qC 0
adbf5e7df96d import: add --bypass option
Patrick Mezard <pmezard@gmail.com>
parents:
diff changeset
   158
  $ echo e > e
adbf5e7df96d import: add --bypass option
Patrick Mezard <pmezard@gmail.com>
parents:
diff changeset
   159
  $ hg ci -Am adde
adbf5e7df96d import: add --bypass option
Patrick Mezard <pmezard@gmail.com>
parents:
diff changeset
   160
  adding e
adbf5e7df96d import: add --bypass option
Patrick Mezard <pmezard@gmail.com>
parents:
diff changeset
   161
  created new head
adbf5e7df96d import: add --bypass option
Patrick Mezard <pmezard@gmail.com>
parents:
diff changeset
   162
  $ hg export . > ../patch1.diff
adbf5e7df96d import: add --bypass option
Patrick Mezard <pmezard@gmail.com>
parents:
diff changeset
   163
  $ hg up -qC 1
adbf5e7df96d import: add --bypass option
Patrick Mezard <pmezard@gmail.com>
parents:
diff changeset
   164
  $ echo f > f
adbf5e7df96d import: add --bypass option
Patrick Mezard <pmezard@gmail.com>
parents:
diff changeset
   165
  $ hg ci -Am addf
adbf5e7df96d import: add --bypass option
Patrick Mezard <pmezard@gmail.com>
parents:
diff changeset
   166
  adding f
adbf5e7df96d import: add --bypass option
Patrick Mezard <pmezard@gmail.com>
parents:
diff changeset
   167
  $ hg export . > ../patch2.diff
adbf5e7df96d import: add --bypass option
Patrick Mezard <pmezard@gmail.com>
parents:
diff changeset
   168
  $ cd ..
adbf5e7df96d import: add --bypass option
Patrick Mezard <pmezard@gmail.com>
parents:
diff changeset
   169
  $ hg clone -r1 repo-options repo-multi1
adbf5e7df96d import: add --bypass option
Patrick Mezard <pmezard@gmail.com>
parents:
diff changeset
   170
  adding changesets
adbf5e7df96d import: add --bypass option
Patrick Mezard <pmezard@gmail.com>
parents:
diff changeset
   171
  adding manifests
adbf5e7df96d import: add --bypass option
Patrick Mezard <pmezard@gmail.com>
parents:
diff changeset
   172
  adding file changes
adbf5e7df96d import: add --bypass option
Patrick Mezard <pmezard@gmail.com>
parents:
diff changeset
   173
  added 2 changesets with 2 changes to 1 files
adbf5e7df96d import: add --bypass option
Patrick Mezard <pmezard@gmail.com>
parents:
diff changeset
   174
  updating to branch foo
adbf5e7df96d import: add --bypass option
Patrick Mezard <pmezard@gmail.com>
parents:
diff changeset
   175
  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
   176
  $ cd repo-multi1
adbf5e7df96d import: add --bypass option
Patrick Mezard <pmezard@gmail.com>
parents:
diff changeset
   177
  $ hg up 0
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
  $ hg import --bypass ../patch1.diff ../patch2.diff
adbf5e7df96d import: add --bypass option
Patrick Mezard <pmezard@gmail.com>
parents:
diff changeset
   180
  applying ../patch1.diff
adbf5e7df96d import: add --bypass option
Patrick Mezard <pmezard@gmail.com>
parents:
diff changeset
   181
  applying ../patch2.diff
adbf5e7df96d import: add --bypass option
Patrick Mezard <pmezard@gmail.com>
parents:
diff changeset
   182
  $ shortlog
adbf5e7df96d import: add --bypass option
Patrick Mezard <pmezard@gmail.com>
parents:
diff changeset
   183
  o  3:bc8ca3f8a7c4 test 0 0 - default - addf
adbf5e7df96d import: add --bypass option
Patrick Mezard <pmezard@gmail.com>
parents:
diff changeset
   184
  |
adbf5e7df96d import: add --bypass option
Patrick Mezard <pmezard@gmail.com>
parents:
diff changeset
   185
  o  2:16581080145e test 0 0 - default - adde
adbf5e7df96d import: add --bypass option
Patrick Mezard <pmezard@gmail.com>
parents:
diff changeset
   186
  |
adbf5e7df96d import: add --bypass option
Patrick Mezard <pmezard@gmail.com>
parents:
diff changeset
   187
  | o  1:4e322f7ce8e3 test 0 0 - foo - changea
adbf5e7df96d import: add --bypass option
Patrick Mezard <pmezard@gmail.com>
parents:
diff changeset
   188
  |/
adbf5e7df96d import: add --bypass option
Patrick Mezard <pmezard@gmail.com>
parents:
diff changeset
   189
  @  0:07f494440405 test 0 0 - default - adda
adbf5e7df96d import: add --bypass option
Patrick Mezard <pmezard@gmail.com>
parents:
diff changeset
   190
  
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
Test applying multiple patches with --exact
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
  $ cd ..
adbf5e7df96d import: add --bypass option
Patrick Mezard <pmezard@gmail.com>
parents:
diff changeset
   195
  $ hg clone -r1 repo-options repo-multi2
adbf5e7df96d import: add --bypass option
Patrick Mezard <pmezard@gmail.com>
parents:
diff changeset
   196
  adding changesets
adbf5e7df96d import: add --bypass option
Patrick Mezard <pmezard@gmail.com>
parents:
diff changeset
   197
  adding manifests
adbf5e7df96d import: add --bypass option
Patrick Mezard <pmezard@gmail.com>
parents:
diff changeset
   198
  adding file changes
adbf5e7df96d import: add --bypass option
Patrick Mezard <pmezard@gmail.com>
parents:
diff changeset
   199
  added 2 changesets with 2 changes to 1 files
adbf5e7df96d import: add --bypass option
Patrick Mezard <pmezard@gmail.com>
parents:
diff changeset
   200
  updating to branch foo
adbf5e7df96d import: add --bypass option
Patrick Mezard <pmezard@gmail.com>
parents:
diff changeset
   201
  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
   202
  $ cd repo-multi2
adbf5e7df96d import: add --bypass option
Patrick Mezard <pmezard@gmail.com>
parents:
diff changeset
   203
  $ hg import --bypass --exact ../patch1.diff ../patch2.diff
adbf5e7df96d import: add --bypass option
Patrick Mezard <pmezard@gmail.com>
parents:
diff changeset
   204
  applying ../patch1.diff
adbf5e7df96d import: add --bypass option
Patrick Mezard <pmezard@gmail.com>
parents:
diff changeset
   205
  applying ../patch2.diff
adbf5e7df96d import: add --bypass option
Patrick Mezard <pmezard@gmail.com>
parents:
diff changeset
   206
  $ shortlog
adbf5e7df96d import: add --bypass option
Patrick Mezard <pmezard@gmail.com>
parents:
diff changeset
   207
  o  3:d60cb8989666 test 0 0 - foo - addf
adbf5e7df96d import: add --bypass option
Patrick Mezard <pmezard@gmail.com>
parents:
diff changeset
   208
  |
adbf5e7df96d import: add --bypass option
Patrick Mezard <pmezard@gmail.com>
parents:
diff changeset
   209
  | o  2:16581080145e test 0 0 - default - adde
adbf5e7df96d import: add --bypass option
Patrick Mezard <pmezard@gmail.com>
parents:
diff changeset
   210
  | |
adbf5e7df96d import: add --bypass option
Patrick Mezard <pmezard@gmail.com>
parents:
diff changeset
   211
  @ |  1:4e322f7ce8e3 test 0 0 - foo - changea
adbf5e7df96d import: add --bypass option
Patrick Mezard <pmezard@gmail.com>
parents:
diff changeset
   212
  |/
adbf5e7df96d import: add --bypass option
Patrick Mezard <pmezard@gmail.com>
parents:
diff changeset
   213
  o  0:07f494440405 test 0 0 - default - adda
adbf5e7df96d import: add --bypass option
Patrick Mezard <pmezard@gmail.com>
parents:
diff changeset
   214
  
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
  $ cd ..
adbf5e7df96d import: add --bypass option
Patrick Mezard <pmezard@gmail.com>
parents:
diff changeset
   217
16899
8149ff405c78 tests: convert some 'hghave execbit' to #if
Mads Kiilerich <mads@kiilerich.com>
parents: 16124
diff changeset
   218
#if symlink execbit
8149ff405c78 tests: convert some 'hghave execbit' to #if
Mads Kiilerich <mads@kiilerich.com>
parents: 16124
diff changeset
   219
14611
adbf5e7df96d import: add --bypass option
Patrick Mezard <pmezard@gmail.com>
parents:
diff changeset
   220
Test complicated patch with --exact
adbf5e7df96d import: add --bypass option
Patrick Mezard <pmezard@gmail.com>
parents:
diff changeset
   221
adbf5e7df96d import: add --bypass option
Patrick Mezard <pmezard@gmail.com>
parents:
diff changeset
   222
  $ hg init repo-exact
adbf5e7df96d import: add --bypass option
Patrick Mezard <pmezard@gmail.com>
parents:
diff changeset
   223
  $ cd repo-exact
adbf5e7df96d import: add --bypass option
Patrick Mezard <pmezard@gmail.com>
parents:
diff changeset
   224
  $ echo a > a
adbf5e7df96d import: add --bypass option
Patrick Mezard <pmezard@gmail.com>
parents:
diff changeset
   225
  $ echo c > c
adbf5e7df96d import: add --bypass option
Patrick Mezard <pmezard@gmail.com>
parents:
diff changeset
   226
  $ echo d > d
adbf5e7df96d import: add --bypass option
Patrick Mezard <pmezard@gmail.com>
parents:
diff changeset
   227
  $ echo e > e
adbf5e7df96d import: add --bypass option
Patrick Mezard <pmezard@gmail.com>
parents:
diff changeset
   228
  $ echo f > f
adbf5e7df96d import: add --bypass option
Patrick Mezard <pmezard@gmail.com>
parents:
diff changeset
   229
  $ chmod +x f
adbf5e7df96d import: add --bypass option
Patrick Mezard <pmezard@gmail.com>
parents:
diff changeset
   230
  $ ln -s c linkc
adbf5e7df96d import: add --bypass option
Patrick Mezard <pmezard@gmail.com>
parents:
diff changeset
   231
  $ hg ci -Am t
adbf5e7df96d import: add --bypass option
Patrick Mezard <pmezard@gmail.com>
parents:
diff changeset
   232
  adding a
adbf5e7df96d import: add --bypass option
Patrick Mezard <pmezard@gmail.com>
parents:
diff changeset
   233
  adding c
adbf5e7df96d import: add --bypass option
Patrick Mezard <pmezard@gmail.com>
parents:
diff changeset
   234
  adding d
adbf5e7df96d import: add --bypass option
Patrick Mezard <pmezard@gmail.com>
parents:
diff changeset
   235
  adding e
adbf5e7df96d import: add --bypass option
Patrick Mezard <pmezard@gmail.com>
parents:
diff changeset
   236
  adding f
adbf5e7df96d import: add --bypass option
Patrick Mezard <pmezard@gmail.com>
parents:
diff changeset
   237
  adding linkc
adbf5e7df96d import: add --bypass option
Patrick Mezard <pmezard@gmail.com>
parents:
diff changeset
   238
  $ hg cp a aa1
adbf5e7df96d import: add --bypass option
Patrick Mezard <pmezard@gmail.com>
parents:
diff changeset
   239
  $ echo b >> a
adbf5e7df96d import: add --bypass option
Patrick Mezard <pmezard@gmail.com>
parents:
diff changeset
   240
  $ echo b > b
adbf5e7df96d import: add --bypass option
Patrick Mezard <pmezard@gmail.com>
parents:
diff changeset
   241
  $ hg add b
adbf5e7df96d import: add --bypass option
Patrick Mezard <pmezard@gmail.com>
parents:
diff changeset
   242
  $ hg cp a aa2
adbf5e7df96d import: add --bypass option
Patrick Mezard <pmezard@gmail.com>
parents:
diff changeset
   243
  $ echo aa >> aa2
adbf5e7df96d import: add --bypass option
Patrick Mezard <pmezard@gmail.com>
parents:
diff changeset
   244
  $ chmod +x e
adbf5e7df96d import: add --bypass option
Patrick Mezard <pmezard@gmail.com>
parents:
diff changeset
   245
  $ chmod -x f
adbf5e7df96d import: add --bypass option
Patrick Mezard <pmezard@gmail.com>
parents:
diff changeset
   246
  $ ln -s a linka
adbf5e7df96d import: add --bypass option
Patrick Mezard <pmezard@gmail.com>
parents:
diff changeset
   247
  $ hg rm d
adbf5e7df96d import: add --bypass option
Patrick Mezard <pmezard@gmail.com>
parents:
diff changeset
   248
  $ hg rm linkc
adbf5e7df96d import: add --bypass option
Patrick Mezard <pmezard@gmail.com>
parents:
diff changeset
   249
  $ hg mv c cc
adbf5e7df96d import: add --bypass option
Patrick Mezard <pmezard@gmail.com>
parents:
diff changeset
   250
  $ hg ci -m patch
adbf5e7df96d import: add --bypass option
Patrick Mezard <pmezard@gmail.com>
parents:
diff changeset
   251
  $ hg export --git . > ../test.diff
adbf5e7df96d import: add --bypass option
Patrick Mezard <pmezard@gmail.com>
parents:
diff changeset
   252
  $ hg up -C null
adbf5e7df96d import: add --bypass option
Patrick Mezard <pmezard@gmail.com>
parents:
diff changeset
   253
  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
   254
  $ hg purge
adbf5e7df96d import: add --bypass option
Patrick Mezard <pmezard@gmail.com>
parents:
diff changeset
   255
  $ hg st
adbf5e7df96d import: add --bypass option
Patrick Mezard <pmezard@gmail.com>
parents:
diff changeset
   256
  $ hg import --bypass --exact ../test.diff
adbf5e7df96d import: add --bypass option
Patrick Mezard <pmezard@gmail.com>
parents:
diff changeset
   257
  applying ../test.diff
adbf5e7df96d import: add --bypass option
Patrick Mezard <pmezard@gmail.com>
parents:
diff changeset
   258
adbf5e7df96d import: add --bypass option
Patrick Mezard <pmezard@gmail.com>
parents:
diff changeset
   259
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
   260
data. If not, diff both heads to debug it.
adbf5e7df96d import: add --bypass option
Patrick Mezard <pmezard@gmail.com>
parents:
diff changeset
   261
adbf5e7df96d import: add --bypass option
Patrick Mezard <pmezard@gmail.com>
parents:
diff changeset
   262
  $ shortlog
adbf5e7df96d import: add --bypass option
Patrick Mezard <pmezard@gmail.com>
parents:
diff changeset
   263
  o  1:2978fd5c8aa4 test 0 0 - default - patch
adbf5e7df96d import: add --bypass option
Patrick Mezard <pmezard@gmail.com>
parents:
diff changeset
   264
  |
adbf5e7df96d import: add --bypass option
Patrick Mezard <pmezard@gmail.com>
parents:
diff changeset
   265
  o  0:a0e19e636a43 test 0 0 - default - t
adbf5e7df96d import: add --bypass option
Patrick Mezard <pmezard@gmail.com>
parents:
diff changeset
   266
  
16899
8149ff405c78 tests: convert some 'hghave execbit' to #if
Mads Kiilerich <mads@kiilerich.com>
parents: 16124
diff changeset
   267
#endif
16913
f2719b387380 tests: add missing trailing 'cd ..'
Mads Kiilerich <mads@kiilerich.com>
parents: 16899
diff changeset
   268
f2719b387380 tests: add missing trailing 'cd ..'
Mads Kiilerich <mads@kiilerich.com>
parents: 16899
diff changeset
   269
  $ cd ..