tests/test-merge1.t
author Martin von Zweigbergk <martinvonz@google.com>
Fri, 20 Nov 2020 14:43:21 -0800
changeset 45894 9dc1351d0b5f
parent 45841 bff719525815
child 45917 721f765a34ac
permissions -rw-r--r--
errors: raise ConfigError on failure to parse config file This replaces two raises of `ParseError` by `ConfigError`, which makes it so we get the desired exit code when `ui.detailed-exit-code` is enabled. Because the exceptions include a location, I had to add that to `ConfigError` as well. I considered making `ConfigError` a subclass of `ParseError`, but it doesn't feel like it quite passes the "is-a" test. I used "config error: " as prefix for these errors instead of the previous "hg: parse error: ", which seems a little less accurate now (and, as I've said before, I don't know what the "hg: " part is supposed to signify anyway). I can easily be convinced to change the prefix to something else (including "abort: "). Some of the exceptions raised here mean that we fail to even load the `ui` object in the `dispatch` module. When that happens, we don't know to use detailed exit codes, so some tests (e.g. `test-hgrc.t`) still see exit code 255. I'll try to get back to that later. It should be possible to give detailed exit codes if at least part of the config can be read (e.g. when the system-wide one enables detailed exit codes and the user's config fails to parse). Differential Revision: https://phab.mercurial-scm.org/D9355
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
11975
21884b433c51 tests: unify test-merge1
Pradeepkumar Gayam <in3xes@gmail.com>
parents: 8834
diff changeset
     1
  $ cat <<EOF > merge
33721
24849d53697d tests: clean up many print statements to be print functions instead
Augie Fackler <augie@google.com>
parents: 33286
diff changeset
     2
  > from __future__ import print_function
11975
21884b433c51 tests: unify test-merge1
Pradeepkumar Gayam <in3xes@gmail.com>
parents: 8834
diff changeset
     3
  > import sys, os
21884b433c51 tests: unify test-merge1
Pradeepkumar Gayam <in3xes@gmail.com>
parents: 8834
diff changeset
     4
  > 
21884b433c51 tests: unify test-merge1
Pradeepkumar Gayam <in3xes@gmail.com>
parents: 8834
diff changeset
     5
  > try:
21884b433c51 tests: unify test-merge1
Pradeepkumar Gayam <in3xes@gmail.com>
parents: 8834
diff changeset
     6
  >     import msvcrt
21884b433c51 tests: unify test-merge1
Pradeepkumar Gayam <in3xes@gmail.com>
parents: 8834
diff changeset
     7
  >     msvcrt.setmode(sys.stdout.fileno(), os.O_BINARY)
21884b433c51 tests: unify test-merge1
Pradeepkumar Gayam <in3xes@gmail.com>
parents: 8834
diff changeset
     8
  >     msvcrt.setmode(sys.stderr.fileno(), os.O_BINARY)
21884b433c51 tests: unify test-merge1
Pradeepkumar Gayam <in3xes@gmail.com>
parents: 8834
diff changeset
     9
  > except ImportError:
21884b433c51 tests: unify test-merge1
Pradeepkumar Gayam <in3xes@gmail.com>
parents: 8834
diff changeset
    10
  >     pass
21884b433c51 tests: unify test-merge1
Pradeepkumar Gayam <in3xes@gmail.com>
parents: 8834
diff changeset
    11
  > 
33721
24849d53697d tests: clean up many print statements to be print functions instead
Augie Fackler <augie@google.com>
parents: 33286
diff changeset
    12
  > print("merging for", os.path.basename(sys.argv[1]))
11975
21884b433c51 tests: unify test-merge1
Pradeepkumar Gayam <in3xes@gmail.com>
parents: 8834
diff changeset
    13
  > EOF
40872
07e181ed82ef py3: quote several instances of $PYTHON for Windows
Matt Harbison <matt_harbison@yahoo.com>
parents: 39593
diff changeset
    14
  $ HGMERGE="\"$PYTHON\" ../merge"; export HGMERGE
7080
a6477aa893b8 tests: Windows compatibility fixes
Patrick Mezard <pmezard@gmail.com>
parents: 4294
diff changeset
    15
13956
ffb5c09ba822 tests: remove redundant mkdir
Martin Geisler <mg@lazybytes.net>
parents: 13439
diff changeset
    16
  $ hg init t
11975
21884b433c51 tests: unify test-merge1
Pradeepkumar Gayam <in3xes@gmail.com>
parents: 8834
diff changeset
    17
  $ cd t
21884b433c51 tests: unify test-merge1
Pradeepkumar Gayam <in3xes@gmail.com>
parents: 8834
diff changeset
    18
  $ echo This is file a1 > a
21884b433c51 tests: unify test-merge1
Pradeepkumar Gayam <in3xes@gmail.com>
parents: 8834
diff changeset
    19
  $ hg add a
12156
4c94b6d0fb1c tests: remove unneeded -d flags
Martin Geisler <mg@lazybytes.net>
parents: 11975
diff changeset
    20
  $ hg commit -m "commit #0"
11975
21884b433c51 tests: unify test-merge1
Pradeepkumar Gayam <in3xes@gmail.com>
parents: 8834
diff changeset
    21
  $ echo This is file b1 > b
21884b433c51 tests: unify test-merge1
Pradeepkumar Gayam <in3xes@gmail.com>
parents: 8834
diff changeset
    22
  $ hg add b
12156
4c94b6d0fb1c tests: remove unneeded -d flags
Martin Geisler <mg@lazybytes.net>
parents: 11975
diff changeset
    23
  $ hg commit -m "commit #1"
407
0e0d0670b2bc [PATCH] Merging identical changes from another branch
mpm@selenic.com
parents:
diff changeset
    24
11975
21884b433c51 tests: unify test-merge1
Pradeepkumar Gayam <in3xes@gmail.com>
parents: 8834
diff changeset
    25
  $ hg update 0
21884b433c51 tests: unify test-merge1
Pradeepkumar Gayam <in3xes@gmail.com>
parents: 8834
diff changeset
    26
  0 files updated, 0 files merged, 1 files removed, 0 files unresolved
19482
499fc471296b update: add tracking of interrupted updates (issue3113)
Matt Mackall <mpm@selenic.com>
parents: 16913
diff changeset
    27
29480
1e4512eac59e update: teach hg to override untracked dir with a tracked file on update
Kostia Balytskyi <ikostia@fb.com>
parents: 27742
diff changeset
    28
Test interrupted updates by having a non-empty dir with the same name as one
1e4512eac59e update: teach hg to override untracked dir with a tracked file on update
Kostia Balytskyi <ikostia@fb.com>
parents: 27742
diff changeset
    29
of the files in a commit we're updating to
19482
499fc471296b update: add tracking of interrupted updates (issue3113)
Matt Mackall <mpm@selenic.com>
parents: 16913
diff changeset
    30
29480
1e4512eac59e update: teach hg to override untracked dir with a tracked file on update
Kostia Balytskyi <ikostia@fb.com>
parents: 27742
diff changeset
    31
  $ mkdir b && touch b/nonempty
19482
499fc471296b update: add tracking of interrupted updates (issue3113)
Matt Mackall <mpm@selenic.com>
parents: 16913
diff changeset
    32
  $ hg up
39593
c8514f858788 tests: stabilize change for handling not quoting non-empty-directory
Matt Harbison <matt_harbison@yahoo.com>
parents: 39577
diff changeset
    33
  abort: Unlinking directory not permitted: *$TESTTMP/t/b* (glob) (windows !)
39577
cb1329738d64 tests: handle Python 3 not quoting non-empty-directory error
Augie Fackler <augie@google.com>
parents: 39478
diff changeset
    34
  abort: Directory not empty: '?\$TESTTMP/t/b'? (re) (no-windows !)
39196
8c6775e812d8 merge: do not delete untracked files silently (issue5962)
Yuya Nishihara <yuya@tcha.org>
parents: 34942
diff changeset
    35
  [255]
19482
499fc471296b update: add tracking of interrupted updates (issue3113)
Matt Mackall <mpm@selenic.com>
parents: 16913
diff changeset
    36
  $ hg ci
39196
8c6775e812d8 merge: do not delete untracked files silently (issue5962)
Yuya Nishihara <yuya@tcha.org>
parents: 34942
diff changeset
    37
  abort: last update was interrupted
8c6775e812d8 merge: do not delete untracked files silently (issue5962)
Yuya Nishihara <yuya@tcha.org>
parents: 34942
diff changeset
    38
  (use 'hg update' to get a consistent checkout)
45840
527ce85c2e60 errors: introduce StateError and use it from commands and cmdutil
Martin von Zweigbergk <martinvonz@google.com>
parents: 45681
diff changeset
    39
  [20]
19482
499fc471296b update: add tracking of interrupted updates (issue3113)
Matt Mackall <mpm@selenic.com>
parents: 16913
diff changeset
    40
  $ hg sum
39196
8c6775e812d8 merge: do not delete untracked files silently (issue5962)
Yuya Nishihara <yuya@tcha.org>
parents: 34942
diff changeset
    41
  parent: 0:538afb845929 
8c6775e812d8 merge: do not delete untracked files silently (issue5962)
Yuya Nishihara <yuya@tcha.org>
parents: 34942
diff changeset
    42
   commit #0
19482
499fc471296b update: add tracking of interrupted updates (issue3113)
Matt Mackall <mpm@selenic.com>
parents: 16913
diff changeset
    43
  branch: default
39196
8c6775e812d8 merge: do not delete untracked files silently (issue5962)
Yuya Nishihara <yuya@tcha.org>
parents: 34942
diff changeset
    44
  commit: 1 unknown (interrupted update)
8c6775e812d8 merge: do not delete untracked files silently (issue5962)
Yuya Nishihara <yuya@tcha.org>
parents: 34942
diff changeset
    45
  update: 1 new changesets (update)
25382
6084926366b9 summary: move the parents phase marker to commit line (issue4688)
Gilles Moris <gilles.moris@free.fr>
parents: 25111
diff changeset
    46
  phases: 2 draft
42532
12243f15d53e statecheck: added support for STATES
Taapas Agrawal <taapas2897@gmail.com>
parents: 40872
diff changeset
    47
Detect interrupted update by hg status --verbose
12243f15d53e statecheck: added support for STATES
Taapas Agrawal <taapas2897@gmail.com>
parents: 40872
diff changeset
    48
  $ hg status -v
12243f15d53e statecheck: added support for STATES
Taapas Agrawal <taapas2897@gmail.com>
parents: 40872
diff changeset
    49
  ? b/nonempty
12243f15d53e statecheck: added support for STATES
Taapas Agrawal <taapas2897@gmail.com>
parents: 40872
diff changeset
    50
  # The repository is in an unfinished *update* state.
12243f15d53e statecheck: added support for STATES
Taapas Agrawal <taapas2897@gmail.com>
parents: 40872
diff changeset
    51
  
43045
8c4f32b907e6 unfinishedstate: suggested `hg update .` (including `.`) to complete update
Martin von Zweigbergk <martinvonz@google.com>
parents: 42532
diff changeset
    52
  # To continue:    hg update .
42532
12243f15d53e statecheck: added support for STATES
Taapas Agrawal <taapas2897@gmail.com>
parents: 40872
diff changeset
    53
  
34942
2a774cae3a03 merge: disable path conflict checking by default (issue5716)
Siddharth Agarwal <sid0@fb.com>
parents: 34553
diff changeset
    54
39196
8c6775e812d8 merge: do not delete untracked files silently (issue5962)
Yuya Nishihara <yuya@tcha.org>
parents: 34942
diff changeset
    55
  $ rm b/nonempty
34942
2a774cae3a03 merge: disable path conflict checking by default (issue5716)
Siddharth Agarwal <sid0@fb.com>
parents: 34553
diff changeset
    56
19482
499fc471296b update: add tracking of interrupted updates (issue3113)
Matt Mackall <mpm@selenic.com>
parents: 16913
diff changeset
    57
  $ hg up
39196
8c6775e812d8 merge: do not delete untracked files silently (issue5962)
Yuya Nishihara <yuya@tcha.org>
parents: 34942
diff changeset
    58
  1 files updated, 0 files merged, 0 files removed, 0 files unresolved
19482
499fc471296b update: add tracking of interrupted updates (issue3113)
Matt Mackall <mpm@selenic.com>
parents: 16913
diff changeset
    59
  $ hg sum
499fc471296b update: add tracking of interrupted updates (issue3113)
Matt Mackall <mpm@selenic.com>
parents: 16913
diff changeset
    60
  parent: 1:b8bb4a988f25 tip
499fc471296b update: add tracking of interrupted updates (issue3113)
Matt Mackall <mpm@selenic.com>
parents: 16913
diff changeset
    61
   commit #1
499fc471296b update: add tracking of interrupted updates (issue3113)
Matt Mackall <mpm@selenic.com>
parents: 16913
diff changeset
    62
  branch: default
499fc471296b update: add tracking of interrupted updates (issue3113)
Matt Mackall <mpm@selenic.com>
parents: 16913
diff changeset
    63
  commit: (clean)
499fc471296b update: add tracking of interrupted updates (issue3113)
Matt Mackall <mpm@selenic.com>
parents: 16913
diff changeset
    64
  update: (current)
25382
6084926366b9 summary: move the parents phase marker to commit line (issue4688)
Gilles Moris <gilles.moris@free.fr>
parents: 25111
diff changeset
    65
  phases: 2 draft
19482
499fc471296b update: add tracking of interrupted updates (issue3113)
Matt Mackall <mpm@selenic.com>
parents: 16913
diff changeset
    66
499fc471296b update: add tracking of interrupted updates (issue3113)
Matt Mackall <mpm@selenic.com>
parents: 16913
diff changeset
    67
Prepare a basic merge
499fc471296b update: add tracking of interrupted updates (issue3113)
Matt Mackall <mpm@selenic.com>
parents: 16913
diff changeset
    68
499fc471296b update: add tracking of interrupted updates (issue3113)
Matt Mackall <mpm@selenic.com>
parents: 16913
diff changeset
    69
  $ hg up 0
499fc471296b update: add tracking of interrupted updates (issue3113)
Matt Mackall <mpm@selenic.com>
parents: 16913
diff changeset
    70
  0 files updated, 0 files merged, 1 files removed, 0 files unresolved
11975
21884b433c51 tests: unify test-merge1
Pradeepkumar Gayam <in3xes@gmail.com>
parents: 8834
diff changeset
    71
  $ echo This is file c1 > c
21884b433c51 tests: unify test-merge1
Pradeepkumar Gayam <in3xes@gmail.com>
parents: 8834
diff changeset
    72
  $ hg add c
12156
4c94b6d0fb1c tests: remove unneeded -d flags
Martin Geisler <mg@lazybytes.net>
parents: 11975
diff changeset
    73
  $ hg commit -m "commit #2"
11975
21884b433c51 tests: unify test-merge1
Pradeepkumar Gayam <in3xes@gmail.com>
parents: 8834
diff changeset
    74
  created new head
21884b433c51 tests: unify test-merge1
Pradeepkumar Gayam <in3xes@gmail.com>
parents: 8834
diff changeset
    75
  $ echo This is file b1 > b
21884b433c51 tests: unify test-merge1
Pradeepkumar Gayam <in3xes@gmail.com>
parents: 8834
diff changeset
    76
no merges expected
21884b433c51 tests: unify test-merge1
Pradeepkumar Gayam <in3xes@gmail.com>
parents: 8834
diff changeset
    77
  $ hg merge -P 1
12156
4c94b6d0fb1c tests: remove unneeded -d flags
Martin Geisler <mg@lazybytes.net>
parents: 11975
diff changeset
    78
  changeset:   1:b8bb4a988f25
11975
21884b433c51 tests: unify test-merge1
Pradeepkumar Gayam <in3xes@gmail.com>
parents: 8834
diff changeset
    79
  user:        test
12156
4c94b6d0fb1c tests: remove unneeded -d flags
Martin Geisler <mg@lazybytes.net>
parents: 11975
diff changeset
    80
  date:        Thu Jan 01 00:00:00 1970 +0000
11975
21884b433c51 tests: unify test-merge1
Pradeepkumar Gayam <in3xes@gmail.com>
parents: 8834
diff changeset
    81
  summary:     commit #1
21884b433c51 tests: unify test-merge1
Pradeepkumar Gayam <in3xes@gmail.com>
parents: 8834
diff changeset
    82
  
21884b433c51 tests: unify test-merge1
Pradeepkumar Gayam <in3xes@gmail.com>
parents: 8834
diff changeset
    83
  $ hg merge 1
21884b433c51 tests: unify test-merge1
Pradeepkumar Gayam <in3xes@gmail.com>
parents: 8834
diff changeset
    84
  1 files updated, 0 files merged, 0 files removed, 0 files unresolved
21884b433c51 tests: unify test-merge1
Pradeepkumar Gayam <in3xes@gmail.com>
parents: 8834
diff changeset
    85
  (branch merge, don't forget to commit)
21884b433c51 tests: unify test-merge1
Pradeepkumar Gayam <in3xes@gmail.com>
parents: 8834
diff changeset
    86
  $ hg diff --nodates
12156
4c94b6d0fb1c tests: remove unneeded -d flags
Martin Geisler <mg@lazybytes.net>
parents: 11975
diff changeset
    87
  diff -r 49035e18a8e6 b
11975
21884b433c51 tests: unify test-merge1
Pradeepkumar Gayam <in3xes@gmail.com>
parents: 8834
diff changeset
    88
  --- /dev/null
21884b433c51 tests: unify test-merge1
Pradeepkumar Gayam <in3xes@gmail.com>
parents: 8834
diff changeset
    89
  +++ b/b
21884b433c51 tests: unify test-merge1
Pradeepkumar Gayam <in3xes@gmail.com>
parents: 8834
diff changeset
    90
  @@ -0,0 +1,1 @@
21884b433c51 tests: unify test-merge1
Pradeepkumar Gayam <in3xes@gmail.com>
parents: 8834
diff changeset
    91
  +This is file b1
21884b433c51 tests: unify test-merge1
Pradeepkumar Gayam <in3xes@gmail.com>
parents: 8834
diff changeset
    92
  $ hg status
21884b433c51 tests: unify test-merge1
Pradeepkumar Gayam <in3xes@gmail.com>
parents: 8834
diff changeset
    93
  M b
21884b433c51 tests: unify test-merge1
Pradeepkumar Gayam <in3xes@gmail.com>
parents: 8834
diff changeset
    94
  $ cd ..; rm -r t
407
0e0d0670b2bc [PATCH] Merging identical changes from another branch
mpm@selenic.com
parents:
diff changeset
    95
13956
ffb5c09ba822 tests: remove redundant mkdir
Martin Geisler <mg@lazybytes.net>
parents: 13439
diff changeset
    96
  $ hg init t
11975
21884b433c51 tests: unify test-merge1
Pradeepkumar Gayam <in3xes@gmail.com>
parents: 8834
diff changeset
    97
  $ cd t
21884b433c51 tests: unify test-merge1
Pradeepkumar Gayam <in3xes@gmail.com>
parents: 8834
diff changeset
    98
  $ echo This is file a1 > a
21884b433c51 tests: unify test-merge1
Pradeepkumar Gayam <in3xes@gmail.com>
parents: 8834
diff changeset
    99
  $ hg add a
12156
4c94b6d0fb1c tests: remove unneeded -d flags
Martin Geisler <mg@lazybytes.net>
parents: 11975
diff changeset
   100
  $ hg commit -m "commit #0"
11975
21884b433c51 tests: unify test-merge1
Pradeepkumar Gayam <in3xes@gmail.com>
parents: 8834
diff changeset
   101
  $ echo This is file b1 > b
21884b433c51 tests: unify test-merge1
Pradeepkumar Gayam <in3xes@gmail.com>
parents: 8834
diff changeset
   102
  $ hg add b
12156
4c94b6d0fb1c tests: remove unneeded -d flags
Martin Geisler <mg@lazybytes.net>
parents: 11975
diff changeset
   103
  $ hg commit -m "commit #1"
407
0e0d0670b2bc [PATCH] Merging identical changes from another branch
mpm@selenic.com
parents:
diff changeset
   104
11975
21884b433c51 tests: unify test-merge1
Pradeepkumar Gayam <in3xes@gmail.com>
parents: 8834
diff changeset
   105
  $ hg update 0
21884b433c51 tests: unify test-merge1
Pradeepkumar Gayam <in3xes@gmail.com>
parents: 8834
diff changeset
   106
  0 files updated, 0 files merged, 1 files removed, 0 files unresolved
21884b433c51 tests: unify test-merge1
Pradeepkumar Gayam <in3xes@gmail.com>
parents: 8834
diff changeset
   107
  $ echo This is file c1 > c
21884b433c51 tests: unify test-merge1
Pradeepkumar Gayam <in3xes@gmail.com>
parents: 8834
diff changeset
   108
  $ hg add c
12156
4c94b6d0fb1c tests: remove unneeded -d flags
Martin Geisler <mg@lazybytes.net>
parents: 11975
diff changeset
   109
  $ hg commit -m "commit #2"
11975
21884b433c51 tests: unify test-merge1
Pradeepkumar Gayam <in3xes@gmail.com>
parents: 8834
diff changeset
   110
  created new head
21884b433c51 tests: unify test-merge1
Pradeepkumar Gayam <in3xes@gmail.com>
parents: 8834
diff changeset
   111
  $ echo This is file b2 > b
21884b433c51 tests: unify test-merge1
Pradeepkumar Gayam <in3xes@gmail.com>
parents: 8834
diff changeset
   112
merge should fail
21884b433c51 tests: unify test-merge1
Pradeepkumar Gayam <in3xes@gmail.com>
parents: 8834
diff changeset
   113
  $ hg merge 1
15894
44fa047cef57 merge: report all files in _checkunknown
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents: 15619
diff changeset
   114
  b: untracked file differs
44fa047cef57 merge: report all files in _checkunknown
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents: 15619
diff changeset
   115
  abort: untracked files in working directory differ from files in requested revision
12316
4134686b83e1 tests: add exit codes to unified tests
Matt Mackall <mpm@selenic.com>
parents: 12156
diff changeset
   116
  [255]
27571
6a6e78f84cc6 merge: while checking for unknown files don't follow symlinks (issue5027)
Siddharth Agarwal <sid0@fb.com>
parents: 26587
diff changeset
   117
6a6e78f84cc6 merge: while checking for unknown files don't follow symlinks (issue5027)
Siddharth Agarwal <sid0@fb.com>
parents: 26587
diff changeset
   118
#if symlink
6a6e78f84cc6 merge: while checking for unknown files don't follow symlinks (issue5027)
Siddharth Agarwal <sid0@fb.com>
parents: 26587
diff changeset
   119
symlinks to directories should be treated as regular files (issue5027)
6a6e78f84cc6 merge: while checking for unknown files don't follow symlinks (issue5027)
Siddharth Agarwal <sid0@fb.com>
parents: 26587
diff changeset
   120
  $ rm b
6a6e78f84cc6 merge: while checking for unknown files don't follow symlinks (issue5027)
Siddharth Agarwal <sid0@fb.com>
parents: 26587
diff changeset
   121
  $ ln -s 'This is file b2' b
6a6e78f84cc6 merge: while checking for unknown files don't follow symlinks (issue5027)
Siddharth Agarwal <sid0@fb.com>
parents: 26587
diff changeset
   122
  $ hg merge 1
6a6e78f84cc6 merge: while checking for unknown files don't follow symlinks (issue5027)
Siddharth Agarwal <sid0@fb.com>
parents: 26587
diff changeset
   123
  b: untracked file differs
6a6e78f84cc6 merge: while checking for unknown files don't follow symlinks (issue5027)
Siddharth Agarwal <sid0@fb.com>
parents: 26587
diff changeset
   124
  abort: untracked files in working directory differ from files in requested revision
6a6e78f84cc6 merge: while checking for unknown files don't follow symlinks (issue5027)
Siddharth Agarwal <sid0@fb.com>
parents: 26587
diff changeset
   125
  [255]
6a6e78f84cc6 merge: while checking for unknown files don't follow symlinks (issue5027)
Siddharth Agarwal <sid0@fb.com>
parents: 26587
diff changeset
   126
symlinks shouldn't be followed
6a6e78f84cc6 merge: while checking for unknown files don't follow symlinks (issue5027)
Siddharth Agarwal <sid0@fb.com>
parents: 26587
diff changeset
   127
  $ rm b
6a6e78f84cc6 merge: while checking for unknown files don't follow symlinks (issue5027)
Siddharth Agarwal <sid0@fb.com>
parents: 26587
diff changeset
   128
  $ echo This is file b1 > .hg/b
6a6e78f84cc6 merge: while checking for unknown files don't follow symlinks (issue5027)
Siddharth Agarwal <sid0@fb.com>
parents: 26587
diff changeset
   129
  $ ln -s .hg/b b
6a6e78f84cc6 merge: while checking for unknown files don't follow symlinks (issue5027)
Siddharth Agarwal <sid0@fb.com>
parents: 26587
diff changeset
   130
  $ hg merge 1
6a6e78f84cc6 merge: while checking for unknown files don't follow symlinks (issue5027)
Siddharth Agarwal <sid0@fb.com>
parents: 26587
diff changeset
   131
  b: untracked file differs
6a6e78f84cc6 merge: while checking for unknown files don't follow symlinks (issue5027)
Siddharth Agarwal <sid0@fb.com>
parents: 26587
diff changeset
   132
  abort: untracked files in working directory differ from files in requested revision
6a6e78f84cc6 merge: while checking for unknown files don't follow symlinks (issue5027)
Siddharth Agarwal <sid0@fb.com>
parents: 26587
diff changeset
   133
  [255]
6a6e78f84cc6 merge: while checking for unknown files don't follow symlinks (issue5027)
Siddharth Agarwal <sid0@fb.com>
parents: 26587
diff changeset
   134
6a6e78f84cc6 merge: while checking for unknown files don't follow symlinks (issue5027)
Siddharth Agarwal <sid0@fb.com>
parents: 26587
diff changeset
   135
  $ rm b
6a6e78f84cc6 merge: while checking for unknown files don't follow symlinks (issue5027)
Siddharth Agarwal <sid0@fb.com>
parents: 26587
diff changeset
   136
  $ echo This is file b2 > b
6a6e78f84cc6 merge: while checking for unknown files don't follow symlinks (issue5027)
Siddharth Agarwal <sid0@fb.com>
parents: 26587
diff changeset
   137
#endif
6a6e78f84cc6 merge: while checking for unknown files don't follow symlinks (issue5027)
Siddharth Agarwal <sid0@fb.com>
parents: 26587
diff changeset
   138
27657
7b5c8c8a2f8c merge: add options to warn or ignore on colliding unknown files
Siddharth Agarwal <sid0@fb.com>
parents: 27571
diff changeset
   139
bad config
7b5c8c8a2f8c merge: add options to warn or ignore on colliding unknown files
Siddharth Agarwal <sid0@fb.com>
parents: 27571
diff changeset
   140
  $ hg merge 1 --config merge.checkunknown=x
45894
9dc1351d0b5f errors: raise ConfigError on failure to parse config file
Martin von Zweigbergk <martinvonz@google.com>
parents: 45841
diff changeset
   141
  config error: merge.checkunknown not valid ('x' is none of 'abort', 'ignore', 'warn')
45841
bff719525815 errors: set detailed exit code to 30 for config errors
Martin von Zweigbergk <martinvonz@google.com>
parents: 45840
diff changeset
   142
  [30]
27657
7b5c8c8a2f8c merge: add options to warn or ignore on colliding unknown files
Siddharth Agarwal <sid0@fb.com>
parents: 27571
diff changeset
   143
this merge should fail
7b5c8c8a2f8c merge: add options to warn or ignore on colliding unknown files
Siddharth Agarwal <sid0@fb.com>
parents: 27571
diff changeset
   144
  $ hg merge 1 --config merge.checkunknown=abort
7b5c8c8a2f8c merge: add options to warn or ignore on colliding unknown files
Siddharth Agarwal <sid0@fb.com>
parents: 27571
diff changeset
   145
  b: untracked file differs
7b5c8c8a2f8c merge: add options to warn or ignore on colliding unknown files
Siddharth Agarwal <sid0@fb.com>
parents: 27571
diff changeset
   146
  abort: untracked files in working directory differ from files in requested revision
7b5c8c8a2f8c merge: add options to warn or ignore on colliding unknown files
Siddharth Agarwal <sid0@fb.com>
parents: 27571
diff changeset
   147
  [255]
7b5c8c8a2f8c merge: add options to warn or ignore on colliding unknown files
Siddharth Agarwal <sid0@fb.com>
parents: 27571
diff changeset
   148
7b5c8c8a2f8c merge: add options to warn or ignore on colliding unknown files
Siddharth Agarwal <sid0@fb.com>
parents: 27571
diff changeset
   149
this merge should warn
7b5c8c8a2f8c merge: add options to warn or ignore on colliding unknown files
Siddharth Agarwal <sid0@fb.com>
parents: 27571
diff changeset
   150
  $ hg merge 1 --config merge.checkunknown=warn
7b5c8c8a2f8c merge: add options to warn or ignore on colliding unknown files
Siddharth Agarwal <sid0@fb.com>
parents: 27571
diff changeset
   151
  b: replacing untracked file
7b5c8c8a2f8c merge: add options to warn or ignore on colliding unknown files
Siddharth Agarwal <sid0@fb.com>
parents: 27571
diff changeset
   152
  1 files updated, 0 files merged, 0 files removed, 0 files unresolved
7b5c8c8a2f8c merge: add options to warn or ignore on colliding unknown files
Siddharth Agarwal <sid0@fb.com>
parents: 27571
diff changeset
   153
  (branch merge, don't forget to commit)
7b5c8c8a2f8c merge: add options to warn or ignore on colliding unknown files
Siddharth Agarwal <sid0@fb.com>
parents: 27571
diff changeset
   154
  $ cat b.orig
7b5c8c8a2f8c merge: add options to warn or ignore on colliding unknown files
Siddharth Agarwal <sid0@fb.com>
parents: 27571
diff changeset
   155
  This is file b2
7b5c8c8a2f8c merge: add options to warn or ignore on colliding unknown files
Siddharth Agarwal <sid0@fb.com>
parents: 27571
diff changeset
   156
  $ hg up --clean 2
7b5c8c8a2f8c merge: add options to warn or ignore on colliding unknown files
Siddharth Agarwal <sid0@fb.com>
parents: 27571
diff changeset
   157
  0 files updated, 0 files merged, 1 files removed, 0 files unresolved
7b5c8c8a2f8c merge: add options to warn or ignore on colliding unknown files
Siddharth Agarwal <sid0@fb.com>
parents: 27571
diff changeset
   158
  $ mv b.orig b
7b5c8c8a2f8c merge: add options to warn or ignore on colliding unknown files
Siddharth Agarwal <sid0@fb.com>
parents: 27571
diff changeset
   159
7b5c8c8a2f8c merge: add options to warn or ignore on colliding unknown files
Siddharth Agarwal <sid0@fb.com>
parents: 27571
diff changeset
   160
this merge should silently ignore
7b5c8c8a2f8c merge: add options to warn or ignore on colliding unknown files
Siddharth Agarwal <sid0@fb.com>
parents: 27571
diff changeset
   161
  $ cat b
7b5c8c8a2f8c merge: add options to warn or ignore on colliding unknown files
Siddharth Agarwal <sid0@fb.com>
parents: 27571
diff changeset
   162
  This is file b2
7b5c8c8a2f8c merge: add options to warn or ignore on colliding unknown files
Siddharth Agarwal <sid0@fb.com>
parents: 27571
diff changeset
   163
  $ hg merge 1 --config merge.checkunknown=ignore
7b5c8c8a2f8c merge: add options to warn or ignore on colliding unknown files
Siddharth Agarwal <sid0@fb.com>
parents: 27571
diff changeset
   164
  1 files updated, 0 files merged, 0 files removed, 0 files unresolved
7b5c8c8a2f8c merge: add options to warn or ignore on colliding unknown files
Siddharth Agarwal <sid0@fb.com>
parents: 27571
diff changeset
   165
  (branch merge, don't forget to commit)
7b5c8c8a2f8c merge: add options to warn or ignore on colliding unknown files
Siddharth Agarwal <sid0@fb.com>
parents: 27571
diff changeset
   166
27742
6b639caa1652 merge: split up checks for unknown and ignored files that differ
Siddharth Agarwal <sid0@fb.com>
parents: 27657
diff changeset
   167
merge.checkignored
6b639caa1652 merge: split up checks for unknown and ignored files that differ
Siddharth Agarwal <sid0@fb.com>
parents: 27657
diff changeset
   168
  $ hg up --clean 1
6b639caa1652 merge: split up checks for unknown and ignored files that differ
Siddharth Agarwal <sid0@fb.com>
parents: 27657
diff changeset
   169
  1 files updated, 0 files merged, 1 files removed, 0 files unresolved
6b639caa1652 merge: split up checks for unknown and ignored files that differ
Siddharth Agarwal <sid0@fb.com>
parents: 27657
diff changeset
   170
  $ cat >> .hgignore << EOF
6b639caa1652 merge: split up checks for unknown and ignored files that differ
Siddharth Agarwal <sid0@fb.com>
parents: 27657
diff changeset
   171
  > remoteignored
6b639caa1652 merge: split up checks for unknown and ignored files that differ
Siddharth Agarwal <sid0@fb.com>
parents: 27657
diff changeset
   172
  > EOF
6b639caa1652 merge: split up checks for unknown and ignored files that differ
Siddharth Agarwal <sid0@fb.com>
parents: 27657
diff changeset
   173
  $ echo This is file localignored3 > localignored
6b639caa1652 merge: split up checks for unknown and ignored files that differ
Siddharth Agarwal <sid0@fb.com>
parents: 27657
diff changeset
   174
  $ echo This is file remoteignored3 > remoteignored
6b639caa1652 merge: split up checks for unknown and ignored files that differ
Siddharth Agarwal <sid0@fb.com>
parents: 27657
diff changeset
   175
  $ hg add .hgignore localignored remoteignored
6b639caa1652 merge: split up checks for unknown and ignored files that differ
Siddharth Agarwal <sid0@fb.com>
parents: 27657
diff changeset
   176
  $ hg commit -m "commit #3"
6b639caa1652 merge: split up checks for unknown and ignored files that differ
Siddharth Agarwal <sid0@fb.com>
parents: 27657
diff changeset
   177
6b639caa1652 merge: split up checks for unknown and ignored files that differ
Siddharth Agarwal <sid0@fb.com>
parents: 27657
diff changeset
   178
  $ hg up 2
6b639caa1652 merge: split up checks for unknown and ignored files that differ
Siddharth Agarwal <sid0@fb.com>
parents: 27657
diff changeset
   179
  1 files updated, 0 files merged, 4 files removed, 0 files unresolved
6b639caa1652 merge: split up checks for unknown and ignored files that differ
Siddharth Agarwal <sid0@fb.com>
parents: 27657
diff changeset
   180
  $ cat >> .hgignore << EOF
6b639caa1652 merge: split up checks for unknown and ignored files that differ
Siddharth Agarwal <sid0@fb.com>
parents: 27657
diff changeset
   181
  > localignored
6b639caa1652 merge: split up checks for unknown and ignored files that differ
Siddharth Agarwal <sid0@fb.com>
parents: 27657
diff changeset
   182
  > EOF
6b639caa1652 merge: split up checks for unknown and ignored files that differ
Siddharth Agarwal <sid0@fb.com>
parents: 27657
diff changeset
   183
  $ hg add .hgignore
6b639caa1652 merge: split up checks for unknown and ignored files that differ
Siddharth Agarwal <sid0@fb.com>
parents: 27657
diff changeset
   184
  $ hg commit -m "commit #4"
6b639caa1652 merge: split up checks for unknown and ignored files that differ
Siddharth Agarwal <sid0@fb.com>
parents: 27657
diff changeset
   185
6b639caa1652 merge: split up checks for unknown and ignored files that differ
Siddharth Agarwal <sid0@fb.com>
parents: 27657
diff changeset
   186
remote .hgignore shouldn't be used for determining whether a file is ignored
6b639caa1652 merge: split up checks for unknown and ignored files that differ
Siddharth Agarwal <sid0@fb.com>
parents: 27657
diff changeset
   187
  $ echo This is file remoteignored4 > remoteignored
6b639caa1652 merge: split up checks for unknown and ignored files that differ
Siddharth Agarwal <sid0@fb.com>
parents: 27657
diff changeset
   188
  $ hg merge 3 --config merge.checkignored=ignore --config merge.checkunknown=abort
6b639caa1652 merge: split up checks for unknown and ignored files that differ
Siddharth Agarwal <sid0@fb.com>
parents: 27657
diff changeset
   189
  remoteignored: untracked file differs
6b639caa1652 merge: split up checks for unknown and ignored files that differ
Siddharth Agarwal <sid0@fb.com>
parents: 27657
diff changeset
   190
  abort: untracked files in working directory differ from files in requested revision
6b639caa1652 merge: split up checks for unknown and ignored files that differ
Siddharth Agarwal <sid0@fb.com>
parents: 27657
diff changeset
   191
  [255]
6b639caa1652 merge: split up checks for unknown and ignored files that differ
Siddharth Agarwal <sid0@fb.com>
parents: 27657
diff changeset
   192
  $ hg merge 3 --config merge.checkignored=abort --config merge.checkunknown=ignore
6b639caa1652 merge: split up checks for unknown and ignored files that differ
Siddharth Agarwal <sid0@fb.com>
parents: 27657
diff changeset
   193
  merging .hgignore
6b639caa1652 merge: split up checks for unknown and ignored files that differ
Siddharth Agarwal <sid0@fb.com>
parents: 27657
diff changeset
   194
  merging for .hgignore
6b639caa1652 merge: split up checks for unknown and ignored files that differ
Siddharth Agarwal <sid0@fb.com>
parents: 27657
diff changeset
   195
  3 files updated, 1 files merged, 0 files removed, 0 files unresolved
6b639caa1652 merge: split up checks for unknown and ignored files that differ
Siddharth Agarwal <sid0@fb.com>
parents: 27657
diff changeset
   196
  (branch merge, don't forget to commit)
6b639caa1652 merge: split up checks for unknown and ignored files that differ
Siddharth Agarwal <sid0@fb.com>
parents: 27657
diff changeset
   197
  $ cat remoteignored
6b639caa1652 merge: split up checks for unknown and ignored files that differ
Siddharth Agarwal <sid0@fb.com>
parents: 27657
diff changeset
   198
  This is file remoteignored3
6b639caa1652 merge: split up checks for unknown and ignored files that differ
Siddharth Agarwal <sid0@fb.com>
parents: 27657
diff changeset
   199
  $ cat remoteignored.orig
6b639caa1652 merge: split up checks for unknown and ignored files that differ
Siddharth Agarwal <sid0@fb.com>
parents: 27657
diff changeset
   200
  This is file remoteignored4
6b639caa1652 merge: split up checks for unknown and ignored files that differ
Siddharth Agarwal <sid0@fb.com>
parents: 27657
diff changeset
   201
  $ rm remoteignored.orig
6b639caa1652 merge: split up checks for unknown and ignored files that differ
Siddharth Agarwal <sid0@fb.com>
parents: 27657
diff changeset
   202
6b639caa1652 merge: split up checks for unknown and ignored files that differ
Siddharth Agarwal <sid0@fb.com>
parents: 27657
diff changeset
   203
local .hgignore should be used for that
6b639caa1652 merge: split up checks for unknown and ignored files that differ
Siddharth Agarwal <sid0@fb.com>
parents: 27657
diff changeset
   204
  $ hg up --clean 4
6b639caa1652 merge: split up checks for unknown and ignored files that differ
Siddharth Agarwal <sid0@fb.com>
parents: 27657
diff changeset
   205
  1 files updated, 0 files merged, 3 files removed, 0 files unresolved
6b639caa1652 merge: split up checks for unknown and ignored files that differ
Siddharth Agarwal <sid0@fb.com>
parents: 27657
diff changeset
   206
  $ echo This is file localignored4 > localignored
6b639caa1652 merge: split up checks for unknown and ignored files that differ
Siddharth Agarwal <sid0@fb.com>
parents: 27657
diff changeset
   207
also test other conflicting files to see we output the full set of warnings
6b639caa1652 merge: split up checks for unknown and ignored files that differ
Siddharth Agarwal <sid0@fb.com>
parents: 27657
diff changeset
   208
  $ echo This is file b2 > b
6b639caa1652 merge: split up checks for unknown and ignored files that differ
Siddharth Agarwal <sid0@fb.com>
parents: 27657
diff changeset
   209
  $ hg merge 3 --config merge.checkignored=abort --config merge.checkunknown=abort
6b639caa1652 merge: split up checks for unknown and ignored files that differ
Siddharth Agarwal <sid0@fb.com>
parents: 27657
diff changeset
   210
  b: untracked file differs
6b639caa1652 merge: split up checks for unknown and ignored files that differ
Siddharth Agarwal <sid0@fb.com>
parents: 27657
diff changeset
   211
  localignored: untracked file differs
6b639caa1652 merge: split up checks for unknown and ignored files that differ
Siddharth Agarwal <sid0@fb.com>
parents: 27657
diff changeset
   212
  abort: untracked files in working directory differ from files in requested revision
6b639caa1652 merge: split up checks for unknown and ignored files that differ
Siddharth Agarwal <sid0@fb.com>
parents: 27657
diff changeset
   213
  [255]
6b639caa1652 merge: split up checks for unknown and ignored files that differ
Siddharth Agarwal <sid0@fb.com>
parents: 27657
diff changeset
   214
  $ hg merge 3 --config merge.checkignored=abort --config merge.checkunknown=ignore
6b639caa1652 merge: split up checks for unknown and ignored files that differ
Siddharth Agarwal <sid0@fb.com>
parents: 27657
diff changeset
   215
  localignored: untracked file differs
6b639caa1652 merge: split up checks for unknown and ignored files that differ
Siddharth Agarwal <sid0@fb.com>
parents: 27657
diff changeset
   216
  abort: untracked files in working directory differ from files in requested revision
6b639caa1652 merge: split up checks for unknown and ignored files that differ
Siddharth Agarwal <sid0@fb.com>
parents: 27657
diff changeset
   217
  [255]
6b639caa1652 merge: split up checks for unknown and ignored files that differ
Siddharth Agarwal <sid0@fb.com>
parents: 27657
diff changeset
   218
  $ hg merge 3 --config merge.checkignored=warn --config merge.checkunknown=abort
6b639caa1652 merge: split up checks for unknown and ignored files that differ
Siddharth Agarwal <sid0@fb.com>
parents: 27657
diff changeset
   219
  b: untracked file differs
6b639caa1652 merge: split up checks for unknown and ignored files that differ
Siddharth Agarwal <sid0@fb.com>
parents: 27657
diff changeset
   220
  abort: untracked files in working directory differ from files in requested revision
6b639caa1652 merge: split up checks for unknown and ignored files that differ
Siddharth Agarwal <sid0@fb.com>
parents: 27657
diff changeset
   221
  [255]
6b639caa1652 merge: split up checks for unknown and ignored files that differ
Siddharth Agarwal <sid0@fb.com>
parents: 27657
diff changeset
   222
  $ hg merge 3 --config merge.checkignored=warn --config merge.checkunknown=warn
6b639caa1652 merge: split up checks for unknown and ignored files that differ
Siddharth Agarwal <sid0@fb.com>
parents: 27657
diff changeset
   223
  b: replacing untracked file
6b639caa1652 merge: split up checks for unknown and ignored files that differ
Siddharth Agarwal <sid0@fb.com>
parents: 27657
diff changeset
   224
  localignored: replacing untracked file
6b639caa1652 merge: split up checks for unknown and ignored files that differ
Siddharth Agarwal <sid0@fb.com>
parents: 27657
diff changeset
   225
  merging .hgignore
6b639caa1652 merge: split up checks for unknown and ignored files that differ
Siddharth Agarwal <sid0@fb.com>
parents: 27657
diff changeset
   226
  merging for .hgignore
6b639caa1652 merge: split up checks for unknown and ignored files that differ
Siddharth Agarwal <sid0@fb.com>
parents: 27657
diff changeset
   227
  3 files updated, 1 files merged, 0 files removed, 0 files unresolved
6b639caa1652 merge: split up checks for unknown and ignored files that differ
Siddharth Agarwal <sid0@fb.com>
parents: 27657
diff changeset
   228
  (branch merge, don't forget to commit)
6b639caa1652 merge: split up checks for unknown and ignored files that differ
Siddharth Agarwal <sid0@fb.com>
parents: 27657
diff changeset
   229
  $ cat localignored
6b639caa1652 merge: split up checks for unknown and ignored files that differ
Siddharth Agarwal <sid0@fb.com>
parents: 27657
diff changeset
   230
  This is file localignored3
6b639caa1652 merge: split up checks for unknown and ignored files that differ
Siddharth Agarwal <sid0@fb.com>
parents: 27657
diff changeset
   231
  $ cat localignored.orig
6b639caa1652 merge: split up checks for unknown and ignored files that differ
Siddharth Agarwal <sid0@fb.com>
parents: 27657
diff changeset
   232
  This is file localignored4
6b639caa1652 merge: split up checks for unknown and ignored files that differ
Siddharth Agarwal <sid0@fb.com>
parents: 27657
diff changeset
   233
  $ rm localignored.orig
6b639caa1652 merge: split up checks for unknown and ignored files that differ
Siddharth Agarwal <sid0@fb.com>
parents: 27657
diff changeset
   234
27657
7b5c8c8a2f8c merge: add options to warn or ignore on colliding unknown files
Siddharth Agarwal <sid0@fb.com>
parents: 27571
diff changeset
   235
  $ cat b.orig
7b5c8c8a2f8c merge: add options to warn or ignore on colliding unknown files
Siddharth Agarwal <sid0@fb.com>
parents: 27571
diff changeset
   236
  This is file b2
7b5c8c8a2f8c merge: add options to warn or ignore on colliding unknown files
Siddharth Agarwal <sid0@fb.com>
parents: 27571
diff changeset
   237
  $ hg up --clean 2
27742
6b639caa1652 merge: split up checks for unknown and ignored files that differ
Siddharth Agarwal <sid0@fb.com>
parents: 27657
diff changeset
   238
  0 files updated, 0 files merged, 4 files removed, 0 files unresolved
27657
7b5c8c8a2f8c merge: add options to warn or ignore on colliding unknown files
Siddharth Agarwal <sid0@fb.com>
parents: 27571
diff changeset
   239
  $ mv b.orig b
7b5c8c8a2f8c merge: add options to warn or ignore on colliding unknown files
Siddharth Agarwal <sid0@fb.com>
parents: 27571
diff changeset
   240
7b5c8c8a2f8c merge: add options to warn or ignore on colliding unknown files
Siddharth Agarwal <sid0@fb.com>
parents: 27571
diff changeset
   241
this merge of b should work
7b5c8c8a2f8c merge: add options to warn or ignore on colliding unknown files
Siddharth Agarwal <sid0@fb.com>
parents: 27571
diff changeset
   242
  $ cat b
7b5c8c8a2f8c merge: add options to warn or ignore on colliding unknown files
Siddharth Agarwal <sid0@fb.com>
parents: 27571
diff changeset
   243
  This is file b2
11975
21884b433c51 tests: unify test-merge1
Pradeepkumar Gayam <in3xes@gmail.com>
parents: 8834
diff changeset
   244
  $ hg merge -f 1
13439
d724a69309e0 util: flush stdout before calling external processes
Mads Kiilerich <mads@kiilerich.com>
parents: 12664
diff changeset
   245
  merging b
11975
21884b433c51 tests: unify test-merge1
Pradeepkumar Gayam <in3xes@gmail.com>
parents: 8834
diff changeset
   246
  merging for b
21884b433c51 tests: unify test-merge1
Pradeepkumar Gayam <in3xes@gmail.com>
parents: 8834
diff changeset
   247
  0 files updated, 1 files merged, 0 files removed, 0 files unresolved
21884b433c51 tests: unify test-merge1
Pradeepkumar Gayam <in3xes@gmail.com>
parents: 8834
diff changeset
   248
  (branch merge, don't forget to commit)
21884b433c51 tests: unify test-merge1
Pradeepkumar Gayam <in3xes@gmail.com>
parents: 8834
diff changeset
   249
  $ hg diff --nodates
12156
4c94b6d0fb1c tests: remove unneeded -d flags
Martin Geisler <mg@lazybytes.net>
parents: 11975
diff changeset
   250
  diff -r 49035e18a8e6 b
11975
21884b433c51 tests: unify test-merge1
Pradeepkumar Gayam <in3xes@gmail.com>
parents: 8834
diff changeset
   251
  --- /dev/null
21884b433c51 tests: unify test-merge1
Pradeepkumar Gayam <in3xes@gmail.com>
parents: 8834
diff changeset
   252
  +++ b/b
21884b433c51 tests: unify test-merge1
Pradeepkumar Gayam <in3xes@gmail.com>
parents: 8834
diff changeset
   253
  @@ -0,0 +1,1 @@
21884b433c51 tests: unify test-merge1
Pradeepkumar Gayam <in3xes@gmail.com>
parents: 8834
diff changeset
   254
  +This is file b2
21884b433c51 tests: unify test-merge1
Pradeepkumar Gayam <in3xes@gmail.com>
parents: 8834
diff changeset
   255
  $ hg status
21884b433c51 tests: unify test-merge1
Pradeepkumar Gayam <in3xes@gmail.com>
parents: 8834
diff changeset
   256
  M b
21884b433c51 tests: unify test-merge1
Pradeepkumar Gayam <in3xes@gmail.com>
parents: 8834
diff changeset
   257
  $ cd ..; rm -r t
407
0e0d0670b2bc [PATCH] Merging identical changes from another branch
mpm@selenic.com
parents:
diff changeset
   258
13956
ffb5c09ba822 tests: remove redundant mkdir
Martin Geisler <mg@lazybytes.net>
parents: 13439
diff changeset
   259
  $ hg init t
11975
21884b433c51 tests: unify test-merge1
Pradeepkumar Gayam <in3xes@gmail.com>
parents: 8834
diff changeset
   260
  $ cd t
21884b433c51 tests: unify test-merge1
Pradeepkumar Gayam <in3xes@gmail.com>
parents: 8834
diff changeset
   261
  $ echo This is file a1 > a
21884b433c51 tests: unify test-merge1
Pradeepkumar Gayam <in3xes@gmail.com>
parents: 8834
diff changeset
   262
  $ hg add a
12156
4c94b6d0fb1c tests: remove unneeded -d flags
Martin Geisler <mg@lazybytes.net>
parents: 11975
diff changeset
   263
  $ hg commit -m "commit #0"
11975
21884b433c51 tests: unify test-merge1
Pradeepkumar Gayam <in3xes@gmail.com>
parents: 8834
diff changeset
   264
  $ echo This is file b1 > b
21884b433c51 tests: unify test-merge1
Pradeepkumar Gayam <in3xes@gmail.com>
parents: 8834
diff changeset
   265
  $ hg add b
12156
4c94b6d0fb1c tests: remove unneeded -d flags
Martin Geisler <mg@lazybytes.net>
parents: 11975
diff changeset
   266
  $ hg commit -m "commit #1"
11975
21884b433c51 tests: unify test-merge1
Pradeepkumar Gayam <in3xes@gmail.com>
parents: 8834
diff changeset
   267
  $ echo This is file b22 > b
12156
4c94b6d0fb1c tests: remove unneeded -d flags
Martin Geisler <mg@lazybytes.net>
parents: 11975
diff changeset
   268
  $ hg commit -m "commit #2"
11975
21884b433c51 tests: unify test-merge1
Pradeepkumar Gayam <in3xes@gmail.com>
parents: 8834
diff changeset
   269
  $ hg update 1
21884b433c51 tests: unify test-merge1
Pradeepkumar Gayam <in3xes@gmail.com>
parents: 8834
diff changeset
   270
  1 files updated, 0 files merged, 0 files removed, 0 files unresolved
21884b433c51 tests: unify test-merge1
Pradeepkumar Gayam <in3xes@gmail.com>
parents: 8834
diff changeset
   271
  $ echo This is file c1 > c
21884b433c51 tests: unify test-merge1
Pradeepkumar Gayam <in3xes@gmail.com>
parents: 8834
diff changeset
   272
  $ hg add c
12156
4c94b6d0fb1c tests: remove unneeded -d flags
Martin Geisler <mg@lazybytes.net>
parents: 11975
diff changeset
   273
  $ hg commit -m "commit #3"
11975
21884b433c51 tests: unify test-merge1
Pradeepkumar Gayam <in3xes@gmail.com>
parents: 8834
diff changeset
   274
  created new head
21884b433c51 tests: unify test-merge1
Pradeepkumar Gayam <in3xes@gmail.com>
parents: 8834
diff changeset
   275
21884b433c51 tests: unify test-merge1
Pradeepkumar Gayam <in3xes@gmail.com>
parents: 8834
diff changeset
   276
Contents of b should be "this is file b1"
21884b433c51 tests: unify test-merge1
Pradeepkumar Gayam <in3xes@gmail.com>
parents: 8834
diff changeset
   277
  $ cat b
21884b433c51 tests: unify test-merge1
Pradeepkumar Gayam <in3xes@gmail.com>
parents: 8834
diff changeset
   278
  This is file b1
1236
67a28636ea64 Fix bug with co -C across branches, update tests
mpm@selenic.com
parents: 814
diff changeset
   279
11975
21884b433c51 tests: unify test-merge1
Pradeepkumar Gayam <in3xes@gmail.com>
parents: 8834
diff changeset
   280
  $ echo This is file b22 > b
21884b433c51 tests: unify test-merge1
Pradeepkumar Gayam <in3xes@gmail.com>
parents: 8834
diff changeset
   281
merge fails
21884b433c51 tests: unify test-merge1
Pradeepkumar Gayam <in3xes@gmail.com>
parents: 8834
diff changeset
   282
  $ hg merge 2
19802
94c394653b2a merge: standardize error message for dirty working dir
Siddharth Agarwal <sid0@fb.com>
parents: 19498
diff changeset
   283
  abort: uncommitted changes
15619
6c8573dd1b6b merge: make 'nothing to merge' aborts consistent
Kevin Bullock <kbullock@ringworld.org>
parents: 15243
diff changeset
   284
  (use 'hg status' to list changes)
12316
4134686b83e1 tests: add exit codes to unified tests
Matt Mackall <mpm@selenic.com>
parents: 12156
diff changeset
   285
  [255]
15243
1e9451476bf8 tests: cleanup of echo statements left over from test conversion
Mads Kiilerich <mads@kiilerich.com>
parents: 13956
diff changeset
   286
merge expected!
11975
21884b433c51 tests: unify test-merge1
Pradeepkumar Gayam <in3xes@gmail.com>
parents: 8834
diff changeset
   287
  $ hg merge -f 2
21884b433c51 tests: unify test-merge1
Pradeepkumar Gayam <in3xes@gmail.com>
parents: 8834
diff changeset
   288
  1 files updated, 0 files merged, 0 files removed, 0 files unresolved
21884b433c51 tests: unify test-merge1
Pradeepkumar Gayam <in3xes@gmail.com>
parents: 8834
diff changeset
   289
  (branch merge, don't forget to commit)
21884b433c51 tests: unify test-merge1
Pradeepkumar Gayam <in3xes@gmail.com>
parents: 8834
diff changeset
   290
  $ hg diff --nodates
12156
4c94b6d0fb1c tests: remove unneeded -d flags
Martin Geisler <mg@lazybytes.net>
parents: 11975
diff changeset
   291
  diff -r 85de557015a8 b
11975
21884b433c51 tests: unify test-merge1
Pradeepkumar Gayam <in3xes@gmail.com>
parents: 8834
diff changeset
   292
  --- a/b
21884b433c51 tests: unify test-merge1
Pradeepkumar Gayam <in3xes@gmail.com>
parents: 8834
diff changeset
   293
  +++ b/b
21884b433c51 tests: unify test-merge1
Pradeepkumar Gayam <in3xes@gmail.com>
parents: 8834
diff changeset
   294
  @@ -1,1 +1,1 @@
21884b433c51 tests: unify test-merge1
Pradeepkumar Gayam <in3xes@gmail.com>
parents: 8834
diff changeset
   295
  -This is file b1
21884b433c51 tests: unify test-merge1
Pradeepkumar Gayam <in3xes@gmail.com>
parents: 8834
diff changeset
   296
  +This is file b22
21884b433c51 tests: unify test-merge1
Pradeepkumar Gayam <in3xes@gmail.com>
parents: 8834
diff changeset
   297
  $ hg status
21884b433c51 tests: unify test-merge1
Pradeepkumar Gayam <in3xes@gmail.com>
parents: 8834
diff changeset
   298
  M b
21884b433c51 tests: unify test-merge1
Pradeepkumar Gayam <in3xes@gmail.com>
parents: 8834
diff changeset
   299
  $ cd ..; rm -r t
407
0e0d0670b2bc [PATCH] Merging identical changes from another branch
mpm@selenic.com
parents:
diff changeset
   300
13956
ffb5c09ba822 tests: remove redundant mkdir
Martin Geisler <mg@lazybytes.net>
parents: 13439
diff changeset
   301
  $ hg init t
11975
21884b433c51 tests: unify test-merge1
Pradeepkumar Gayam <in3xes@gmail.com>
parents: 8834
diff changeset
   302
  $ cd t
21884b433c51 tests: unify test-merge1
Pradeepkumar Gayam <in3xes@gmail.com>
parents: 8834
diff changeset
   303
  $ echo This is file a1 > a
21884b433c51 tests: unify test-merge1
Pradeepkumar Gayam <in3xes@gmail.com>
parents: 8834
diff changeset
   304
  $ hg add a
12156
4c94b6d0fb1c tests: remove unneeded -d flags
Martin Geisler <mg@lazybytes.net>
parents: 11975
diff changeset
   305
  $ hg commit -m "commit #0"
11975
21884b433c51 tests: unify test-merge1
Pradeepkumar Gayam <in3xes@gmail.com>
parents: 8834
diff changeset
   306
  $ echo This is file b1 > b
21884b433c51 tests: unify test-merge1
Pradeepkumar Gayam <in3xes@gmail.com>
parents: 8834
diff changeset
   307
  $ hg add b
12156
4c94b6d0fb1c tests: remove unneeded -d flags
Martin Geisler <mg@lazybytes.net>
parents: 11975
diff changeset
   308
  $ hg commit -m "commit #1"
11975
21884b433c51 tests: unify test-merge1
Pradeepkumar Gayam <in3xes@gmail.com>
parents: 8834
diff changeset
   309
  $ echo This is file b22 > b
12156
4c94b6d0fb1c tests: remove unneeded -d flags
Martin Geisler <mg@lazybytes.net>
parents: 11975
diff changeset
   310
  $ hg commit -m "commit #2"
11975
21884b433c51 tests: unify test-merge1
Pradeepkumar Gayam <in3xes@gmail.com>
parents: 8834
diff changeset
   311
  $ hg update 1
21884b433c51 tests: unify test-merge1
Pradeepkumar Gayam <in3xes@gmail.com>
parents: 8834
diff changeset
   312
  1 files updated, 0 files merged, 0 files removed, 0 files unresolved
21884b433c51 tests: unify test-merge1
Pradeepkumar Gayam <in3xes@gmail.com>
parents: 8834
diff changeset
   313
  $ echo This is file c1 > c
21884b433c51 tests: unify test-merge1
Pradeepkumar Gayam <in3xes@gmail.com>
parents: 8834
diff changeset
   314
  $ hg add c
12156
4c94b6d0fb1c tests: remove unneeded -d flags
Martin Geisler <mg@lazybytes.net>
parents: 11975
diff changeset
   315
  $ hg commit -m "commit #3"
11975
21884b433c51 tests: unify test-merge1
Pradeepkumar Gayam <in3xes@gmail.com>
parents: 8834
diff changeset
   316
  created new head
21884b433c51 tests: unify test-merge1
Pradeepkumar Gayam <in3xes@gmail.com>
parents: 8834
diff changeset
   317
  $ echo This is file b33 > b
21884b433c51 tests: unify test-merge1
Pradeepkumar Gayam <in3xes@gmail.com>
parents: 8834
diff changeset
   318
merge of b should fail
21884b433c51 tests: unify test-merge1
Pradeepkumar Gayam <in3xes@gmail.com>
parents: 8834
diff changeset
   319
  $ hg merge 2
19802
94c394653b2a merge: standardize error message for dirty working dir
Siddharth Agarwal <sid0@fb.com>
parents: 19498
diff changeset
   320
  abort: uncommitted changes
15619
6c8573dd1b6b merge: make 'nothing to merge' aborts consistent
Kevin Bullock <kbullock@ringworld.org>
parents: 15243
diff changeset
   321
  (use 'hg status' to list changes)
12316
4134686b83e1 tests: add exit codes to unified tests
Matt Mackall <mpm@selenic.com>
parents: 12156
diff changeset
   322
  [255]
11975
21884b433c51 tests: unify test-merge1
Pradeepkumar Gayam <in3xes@gmail.com>
parents: 8834
diff changeset
   323
merge of b expected
21884b433c51 tests: unify test-merge1
Pradeepkumar Gayam <in3xes@gmail.com>
parents: 8834
diff changeset
   324
  $ hg merge -f 2
13439
d724a69309e0 util: flush stdout before calling external processes
Mads Kiilerich <mads@kiilerich.com>
parents: 12664
diff changeset
   325
  merging b
11975
21884b433c51 tests: unify test-merge1
Pradeepkumar Gayam <in3xes@gmail.com>
parents: 8834
diff changeset
   326
  merging for b
21884b433c51 tests: unify test-merge1
Pradeepkumar Gayam <in3xes@gmail.com>
parents: 8834
diff changeset
   327
  0 files updated, 1 files merged, 0 files removed, 0 files unresolved
21884b433c51 tests: unify test-merge1
Pradeepkumar Gayam <in3xes@gmail.com>
parents: 8834
diff changeset
   328
  (branch merge, don't forget to commit)
21884b433c51 tests: unify test-merge1
Pradeepkumar Gayam <in3xes@gmail.com>
parents: 8834
diff changeset
   329
  $ hg diff --nodates
12156
4c94b6d0fb1c tests: remove unneeded -d flags
Martin Geisler <mg@lazybytes.net>
parents: 11975
diff changeset
   330
  diff -r 85de557015a8 b
11975
21884b433c51 tests: unify test-merge1
Pradeepkumar Gayam <in3xes@gmail.com>
parents: 8834
diff changeset
   331
  --- a/b
21884b433c51 tests: unify test-merge1
Pradeepkumar Gayam <in3xes@gmail.com>
parents: 8834
diff changeset
   332
  +++ b/b
21884b433c51 tests: unify test-merge1
Pradeepkumar Gayam <in3xes@gmail.com>
parents: 8834
diff changeset
   333
  @@ -1,1 +1,1 @@
21884b433c51 tests: unify test-merge1
Pradeepkumar Gayam <in3xes@gmail.com>
parents: 8834
diff changeset
   334
  -This is file b1
21884b433c51 tests: unify test-merge1
Pradeepkumar Gayam <in3xes@gmail.com>
parents: 8834
diff changeset
   335
  +This is file b33
21884b433c51 tests: unify test-merge1
Pradeepkumar Gayam <in3xes@gmail.com>
parents: 8834
diff changeset
   336
  $ hg status
21884b433c51 tests: unify test-merge1
Pradeepkumar Gayam <in3xes@gmail.com>
parents: 8834
diff changeset
   337
  M b
12664
545ec1775021 merge: handle no file parent in backwards merge (issue2364)
Matt Mackall <mpm@selenic.com>
parents: 12316
diff changeset
   338
545ec1775021 merge: handle no file parent in backwards merge (issue2364)
Matt Mackall <mpm@selenic.com>
parents: 12316
diff changeset
   339
Test for issue2364
545ec1775021 merge: handle no file parent in backwards merge (issue2364)
Matt Mackall <mpm@selenic.com>
parents: 12316
diff changeset
   340
545ec1775021 merge: handle no file parent in backwards merge (issue2364)
Matt Mackall <mpm@selenic.com>
parents: 12316
diff changeset
   341
  $ hg up -qC .
545ec1775021 merge: handle no file parent in backwards merge (issue2364)
Matt Mackall <mpm@selenic.com>
parents: 12316
diff changeset
   342
  $ hg rm b
545ec1775021 merge: handle no file parent in backwards merge (issue2364)
Matt Mackall <mpm@selenic.com>
parents: 12316
diff changeset
   343
  $ hg ci -md
545ec1775021 merge: handle no file parent in backwards merge (issue2364)
Matt Mackall <mpm@selenic.com>
parents: 12316
diff changeset
   344
  $ hg revert -r -2 b
545ec1775021 merge: handle no file parent in backwards merge (issue2364)
Matt Mackall <mpm@selenic.com>
parents: 12316
diff changeset
   345
  $ hg up -q -- -2
16913
f2719b387380 tests: add missing trailing 'cd ..'
Mads Kiilerich <mads@kiilerich.com>
parents: 15894
diff changeset
   346
25753
fe03f522dda9 context: write dirstate out explicitly after marking files as clean
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 25382
diff changeset
   347
Test that updated files are treated as "modified", when
fe03f522dda9 context: write dirstate out explicitly after marking files as clean
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 25382
diff changeset
   348
'merge.update()' is aborted before 'merge.recordupdates()' (= parents
fe03f522dda9 context: write dirstate out explicitly after marking files as clean
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 25382
diff changeset
   349
aren't changed), even if none of mode, size and timestamp of them
fe03f522dda9 context: write dirstate out explicitly after marking files as clean
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 25382
diff changeset
   350
isn't changed on the filesystem (see also issue4583).
fe03f522dda9 context: write dirstate out explicitly after marking files as clean
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 25382
diff changeset
   351
fe03f522dda9 context: write dirstate out explicitly after marking files as clean
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 25382
diff changeset
   352
  $ cat > $TESTTMP/abort.py <<EOF
33968
06a740540ea1 tests: update test-merge1 to pass our import checker
Augie Fackler <raf@durin42.com>
parents: 33721
diff changeset
   353
  > from __future__ import absolute_import
25753
fe03f522dda9 context: write dirstate out explicitly after marking files as clean
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 25382
diff changeset
   354
  > # emulate aborting before "recordupdates()". in this case, files
fe03f522dda9 context: write dirstate out explicitly after marking files as clean
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 25382
diff changeset
   355
  > # are changed without updating dirstate
33968
06a740540ea1 tests: update test-merge1 to pass our import checker
Augie Fackler <raf@durin42.com>
parents: 33721
diff changeset
   356
  > from mercurial import (
06a740540ea1 tests: update test-merge1 to pass our import checker
Augie Fackler <raf@durin42.com>
parents: 33721
diff changeset
   357
  >   error,
06a740540ea1 tests: update test-merge1 to pass our import checker
Augie Fackler <raf@durin42.com>
parents: 33721
diff changeset
   358
  >   extensions,
06a740540ea1 tests: update test-merge1 to pass our import checker
Augie Fackler <raf@durin42.com>
parents: 33721
diff changeset
   359
  >   merge,
06a740540ea1 tests: update test-merge1 to pass our import checker
Augie Fackler <raf@durin42.com>
parents: 33721
diff changeset
   360
  > )
25753
fe03f522dda9 context: write dirstate out explicitly after marking files as clean
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 25382
diff changeset
   361
  > def applyupdates(orig, *args, **kwargs):
fe03f522dda9 context: write dirstate out explicitly after marking files as clean
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 25382
diff changeset
   362
  >     orig(*args, **kwargs)
45681
a736ab681b78 errors: stop passing non-strings to Abort's constructor
Martin von Zweigbergk <martinvonz@google.com>
parents: 43045
diff changeset
   363
  >     raise error.Abort(b'intentional aborting')
25753
fe03f522dda9 context: write dirstate out explicitly after marking files as clean
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 25382
diff changeset
   364
  > def extsetup(ui):
fe03f522dda9 context: write dirstate out explicitly after marking files as clean
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 25382
diff changeset
   365
  >     extensions.wrapfunction(merge, "applyupdates", applyupdates)
fe03f522dda9 context: write dirstate out explicitly after marking files as clean
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 25382
diff changeset
   366
  > EOF
fe03f522dda9 context: write dirstate out explicitly after marking files as clean
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 25382
diff changeset
   367
fe03f522dda9 context: write dirstate out explicitly after marking files as clean
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 25382
diff changeset
   368
  $ cat >> .hg/hgrc <<EOF
fe03f522dda9 context: write dirstate out explicitly after marking files as clean
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 25382
diff changeset
   369
  > [fakedirstatewritetime]
fe03f522dda9 context: write dirstate out explicitly after marking files as clean
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 25382
diff changeset
   370
  > # emulate invoking dirstate.write() via repo.status()
fe03f522dda9 context: write dirstate out explicitly after marking files as clean
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 25382
diff changeset
   371
  > # at 2000-01-01 00:00
fe03f522dda9 context: write dirstate out explicitly after marking files as clean
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 25382
diff changeset
   372
  > fakenow = 200001010000
fe03f522dda9 context: write dirstate out explicitly after marking files as clean
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 25382
diff changeset
   373
  > EOF
fe03f522dda9 context: write dirstate out explicitly after marking files as clean
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 25382
diff changeset
   374
fe03f522dda9 context: write dirstate out explicitly after marking files as clean
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 25382
diff changeset
   375
(file gotten from other revision)
fe03f522dda9 context: write dirstate out explicitly after marking files as clean
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 25382
diff changeset
   376
fe03f522dda9 context: write dirstate out explicitly after marking files as clean
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 25382
diff changeset
   377
  $ hg update -q -C 2
fe03f522dda9 context: write dirstate out explicitly after marking files as clean
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 25382
diff changeset
   378
  $ echo 'THIS IS FILE B5' > b
fe03f522dda9 context: write dirstate out explicitly after marking files as clean
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 25382
diff changeset
   379
  $ hg commit -m 'commit #5'
fe03f522dda9 context: write dirstate out explicitly after marking files as clean
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 25382
diff changeset
   380
fe03f522dda9 context: write dirstate out explicitly after marking files as clean
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 25382
diff changeset
   381
  $ hg update -q -C 3
fe03f522dda9 context: write dirstate out explicitly after marking files as clean
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 25382
diff changeset
   382
  $ cat b
fe03f522dda9 context: write dirstate out explicitly after marking files as clean
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 25382
diff changeset
   383
  This is file b1
fe03f522dda9 context: write dirstate out explicitly after marking files as clean
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 25382
diff changeset
   384
  $ touch -t 200001010000 b
fe03f522dda9 context: write dirstate out explicitly after marking files as clean
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 25382
diff changeset
   385
  $ hg debugrebuildstate
fe03f522dda9 context: write dirstate out explicitly after marking files as clean
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 25382
diff changeset
   386
fe03f522dda9 context: write dirstate out explicitly after marking files as clean
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 25382
diff changeset
   387
  $ cat >> .hg/hgrc <<EOF
fe03f522dda9 context: write dirstate out explicitly after marking files as clean
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 25382
diff changeset
   388
  > [extensions]
fe03f522dda9 context: write dirstate out explicitly after marking files as clean
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 25382
diff changeset
   389
  > fakedirstatewritetime = $TESTDIR/fakedirstatewritetime.py
fe03f522dda9 context: write dirstate out explicitly after marking files as clean
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 25382
diff changeset
   390
  > abort = $TESTTMP/abort.py
fe03f522dda9 context: write dirstate out explicitly after marking files as clean
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 25382
diff changeset
   391
  > EOF
fe03f522dda9 context: write dirstate out explicitly after marking files as clean
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 25382
diff changeset
   392
  $ hg merge 5
fe03f522dda9 context: write dirstate out explicitly after marking files as clean
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 25382
diff changeset
   393
  abort: intentional aborting
fe03f522dda9 context: write dirstate out explicitly after marking files as clean
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 25382
diff changeset
   394
  [255]
fe03f522dda9 context: write dirstate out explicitly after marking files as clean
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 25382
diff changeset
   395
  $ cat >> .hg/hgrc <<EOF
fe03f522dda9 context: write dirstate out explicitly after marking files as clean
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 25382
diff changeset
   396
  > [extensions]
fe03f522dda9 context: write dirstate out explicitly after marking files as clean
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 25382
diff changeset
   397
  > fakedirstatewritetime = !
fe03f522dda9 context: write dirstate out explicitly after marking files as clean
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 25382
diff changeset
   398
  > abort = !
fe03f522dda9 context: write dirstate out explicitly after marking files as clean
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 25382
diff changeset
   399
  > EOF
fe03f522dda9 context: write dirstate out explicitly after marking files as clean
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 25382
diff changeset
   400
fe03f522dda9 context: write dirstate out explicitly after marking files as clean
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 25382
diff changeset
   401
  $ cat b
fe03f522dda9 context: write dirstate out explicitly after marking files as clean
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 25382
diff changeset
   402
  THIS IS FILE B5
fe03f522dda9 context: write dirstate out explicitly after marking files as clean
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 25382
diff changeset
   403
  $ touch -t 200001010000 b
fe03f522dda9 context: write dirstate out explicitly after marking files as clean
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 25382
diff changeset
   404
  $ hg status -A b
fe03f522dda9 context: write dirstate out explicitly after marking files as clean
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 25382
diff changeset
   405
  M b
fe03f522dda9 context: write dirstate out explicitly after marking files as clean
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 25382
diff changeset
   406
fe03f522dda9 context: write dirstate out explicitly after marking files as clean
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 25382
diff changeset
   407
(file merged from other revision)
fe03f522dda9 context: write dirstate out explicitly after marking files as clean
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 25382
diff changeset
   408
fe03f522dda9 context: write dirstate out explicitly after marking files as clean
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 25382
diff changeset
   409
  $ hg update -q -C 3
fe03f522dda9 context: write dirstate out explicitly after marking files as clean
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 25382
diff changeset
   410
  $ echo 'this is file b6' > b
fe03f522dda9 context: write dirstate out explicitly after marking files as clean
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 25382
diff changeset
   411
  $ hg commit -m 'commit #6'
fe03f522dda9 context: write dirstate out explicitly after marking files as clean
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 25382
diff changeset
   412
  created new head
fe03f522dda9 context: write dirstate out explicitly after marking files as clean
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 25382
diff changeset
   413
fe03f522dda9 context: write dirstate out explicitly after marking files as clean
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 25382
diff changeset
   414
  $ cat b
fe03f522dda9 context: write dirstate out explicitly after marking files as clean
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 25382
diff changeset
   415
  this is file b6
fe03f522dda9 context: write dirstate out explicitly after marking files as clean
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 25382
diff changeset
   416
  $ touch -t 200001010000 b
fe03f522dda9 context: write dirstate out explicitly after marking files as clean
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 25382
diff changeset
   417
  $ hg debugrebuildstate
fe03f522dda9 context: write dirstate out explicitly after marking files as clean
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 25382
diff changeset
   418
fe03f522dda9 context: write dirstate out explicitly after marking files as clean
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 25382
diff changeset
   419
  $ cat >> .hg/hgrc <<EOF
fe03f522dda9 context: write dirstate out explicitly after marking files as clean
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 25382
diff changeset
   420
  > [extensions]
fe03f522dda9 context: write dirstate out explicitly after marking files as clean
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 25382
diff changeset
   421
  > fakedirstatewritetime = $TESTDIR/fakedirstatewritetime.py
fe03f522dda9 context: write dirstate out explicitly after marking files as clean
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 25382
diff changeset
   422
  > abort = $TESTTMP/abort.py
fe03f522dda9 context: write dirstate out explicitly after marking files as clean
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 25382
diff changeset
   423
  > EOF
fe03f522dda9 context: write dirstate out explicitly after marking files as clean
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 25382
diff changeset
   424
  $ hg merge --tool internal:other 5
fe03f522dda9 context: write dirstate out explicitly after marking files as clean
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 25382
diff changeset
   425
  abort: intentional aborting
fe03f522dda9 context: write dirstate out explicitly after marking files as clean
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 25382
diff changeset
   426
  [255]
fe03f522dda9 context: write dirstate out explicitly after marking files as clean
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 25382
diff changeset
   427
  $ cat >> .hg/hgrc <<EOF
fe03f522dda9 context: write dirstate out explicitly after marking files as clean
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 25382
diff changeset
   428
  > [extensions]
fe03f522dda9 context: write dirstate out explicitly after marking files as clean
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 25382
diff changeset
   429
  > fakedirstatewritetime = !
fe03f522dda9 context: write dirstate out explicitly after marking files as clean
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 25382
diff changeset
   430
  > abort = !
fe03f522dda9 context: write dirstate out explicitly after marking files as clean
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 25382
diff changeset
   431
  > EOF
fe03f522dda9 context: write dirstate out explicitly after marking files as clean
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 25382
diff changeset
   432
fe03f522dda9 context: write dirstate out explicitly after marking files as clean
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 25382
diff changeset
   433
  $ cat b
fe03f522dda9 context: write dirstate out explicitly after marking files as clean
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 25382
diff changeset
   434
  THIS IS FILE B5
fe03f522dda9 context: write dirstate out explicitly after marking files as clean
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 25382
diff changeset
   435
  $ touch -t 200001010000 b
fe03f522dda9 context: write dirstate out explicitly after marking files as clean
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 25382
diff changeset
   436
  $ hg status -A b
fe03f522dda9 context: write dirstate out explicitly after marking files as clean
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 25382
diff changeset
   437
  M b
fe03f522dda9 context: write dirstate out explicitly after marking files as clean
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 25382
diff changeset
   438
16913
f2719b387380 tests: add missing trailing 'cd ..'
Mads Kiilerich <mads@kiilerich.com>
parents: 15894
diff changeset
   439
  $ cd ..