tests/test-resolve.t
author Martin von Zweigbergk <martinvonz@google.com>
Mon, 30 Jul 2018 14:36:42 -0700
branchstable
changeset 38755 545a3e6650cd
parent 38544 e8c33e27ee9b
child 38793 6c8e3c847977
permissions -rw-r--r--
context: use hex nodeid in error about filtered node I went a little too far in my cleanup in 9231148ea599 (context: convert to hex for error message only for 20-byte changeid, 2018-04-06). I missed that the case where a binary nodeid refers to a filtered node. Differential Revision: https://phab.mercurial-scm.org/D3987
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
12117
a40372c1c731 tests: unify test-resolve
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 11451
diff changeset
     1
test that a commit clears the merge state.
7734
9f73bddb9d0b reset mergestate after commit
Martin Geisler <mg@daimi.au.dk>
parents:
diff changeset
     2
12117
a40372c1c731 tests: unify test-resolve
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 11451
diff changeset
     3
  $ hg init repo
a40372c1c731 tests: unify test-resolve
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 11451
diff changeset
     4
  $ cd repo
a40372c1c731 tests: unify test-resolve
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 11451
diff changeset
     5
23021
41770cee3c6a test-resolve: add test resolving one of two files
Martin von Zweigbergk <martinvonz@gmail.com>
parents: 23020
diff changeset
     6
  $ echo foo > file1
41770cee3c6a test-resolve: add test resolving one of two files
Martin von Zweigbergk <martinvonz@gmail.com>
parents: 23020
diff changeset
     7
  $ echo foo > file2
41770cee3c6a test-resolve: add test resolving one of two files
Martin von Zweigbergk <martinvonz@gmail.com>
parents: 23020
diff changeset
     8
  $ hg commit -Am 'add files'
41770cee3c6a test-resolve: add test resolving one of two files
Martin von Zweigbergk <martinvonz@gmail.com>
parents: 23020
diff changeset
     9
  adding file1
41770cee3c6a test-resolve: add test resolving one of two files
Martin von Zweigbergk <martinvonz@gmail.com>
parents: 23020
diff changeset
    10
  adding file2
7734
9f73bddb9d0b reset mergestate after commit
Martin Geisler <mg@daimi.au.dk>
parents:
diff changeset
    11
23021
41770cee3c6a test-resolve: add test resolving one of two files
Martin von Zweigbergk <martinvonz@gmail.com>
parents: 23020
diff changeset
    12
  $ echo bar >> file1
41770cee3c6a test-resolve: add test resolving one of two files
Martin von Zweigbergk <martinvonz@gmail.com>
parents: 23020
diff changeset
    13
  $ echo bar >> file2
41770cee3c6a test-resolve: add test resolving one of two files
Martin von Zweigbergk <martinvonz@gmail.com>
parents: 23020
diff changeset
    14
  $ hg commit -Am 'append bar to files'
12117
a40372c1c731 tests: unify test-resolve
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 11451
diff changeset
    15
23022
ace380a0619b test-resolve: add more tests for in conflict-free states
Martin von Zweigbergk <martinvonz@gmail.com>
parents: 23021
diff changeset
    16
create a second head with conflicting edits
7734
9f73bddb9d0b reset mergestate after commit
Martin Geisler <mg@daimi.au.dk>
parents:
diff changeset
    17
12117
a40372c1c731 tests: unify test-resolve
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 11451
diff changeset
    18
  $ hg up -C 0
23021
41770cee3c6a test-resolve: add test resolving one of two files
Martin von Zweigbergk <martinvonz@gmail.com>
parents: 23020
diff changeset
    19
  2 files updated, 0 files merged, 0 files removed, 0 files unresolved
41770cee3c6a test-resolve: add test resolving one of two files
Martin von Zweigbergk <martinvonz@gmail.com>
parents: 23020
diff changeset
    20
  $ echo baz >> file1
41770cee3c6a test-resolve: add test resolving one of two files
Martin von Zweigbergk <martinvonz@gmail.com>
parents: 23020
diff changeset
    21
  $ echo baz >> file2
41770cee3c6a test-resolve: add test resolving one of two files
Martin von Zweigbergk <martinvonz@gmail.com>
parents: 23020
diff changeset
    22
  $ hg commit -Am 'append baz to files'
12117
a40372c1c731 tests: unify test-resolve
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 11451
diff changeset
    23
  created new head
7734
9f73bddb9d0b reset mergestate after commit
Martin Geisler <mg@daimi.au.dk>
parents:
diff changeset
    24
23022
ace380a0619b test-resolve: add more tests for in conflict-free states
Martin von Zweigbergk <martinvonz@gmail.com>
parents: 23021
diff changeset
    25
create a third head with no conflicting edits
ace380a0619b test-resolve: add more tests for in conflict-free states
Martin von Zweigbergk <martinvonz@gmail.com>
parents: 23021
diff changeset
    26
  $ hg up -qC 0
ace380a0619b test-resolve: add more tests for in conflict-free states
Martin von Zweigbergk <martinvonz@gmail.com>
parents: 23021
diff changeset
    27
  $ echo foo > file3
ace380a0619b test-resolve: add more tests for in conflict-free states
Martin von Zweigbergk <martinvonz@gmail.com>
parents: 23021
diff changeset
    28
  $ hg commit -Am 'add non-conflicting file'
ace380a0619b test-resolve: add more tests for in conflict-free states
Martin von Zweigbergk <martinvonz@gmail.com>
parents: 23021
diff changeset
    29
  adding file3
ace380a0619b test-resolve: add more tests for in conflict-free states
Martin von Zweigbergk <martinvonz@gmail.com>
parents: 23021
diff changeset
    30
  created new head
ace380a0619b test-resolve: add more tests for in conflict-free states
Martin von Zweigbergk <martinvonz@gmail.com>
parents: 23021
diff changeset
    31
12117
a40372c1c731 tests: unify test-resolve
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 11451
diff changeset
    32
failing merge
7734
9f73bddb9d0b reset mergestate after commit
Martin Geisler <mg@daimi.au.dk>
parents:
diff changeset
    33
23022
ace380a0619b test-resolve: add more tests for in conflict-free states
Martin von Zweigbergk <martinvonz@gmail.com>
parents: 23021
diff changeset
    34
  $ hg up -qC 2
ace380a0619b test-resolve: add more tests for in conflict-free states
Martin von Zweigbergk <martinvonz@gmail.com>
parents: 23021
diff changeset
    35
  $ hg merge --tool=internal:fail 1
23021
41770cee3c6a test-resolve: add test resolving one of two files
Martin von Zweigbergk <martinvonz@gmail.com>
parents: 23020
diff changeset
    36
  0 files updated, 0 files merged, 0 files removed, 2 files unresolved
35704
41ef02ba329b merge: add `--abort` flag which can abort the merge
Pulkit Goyal <7895pulkit@gmail.com>
parents: 35393
diff changeset
    37
  use 'hg resolve' to retry unresolved file merges or 'hg merge --abort' to abandon
12316
4134686b83e1 tests: add exit codes to unified tests
Matt Mackall <mpm@selenic.com>
parents: 12314
diff changeset
    38
  [1]
12117
a40372c1c731 tests: unify test-resolve
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 11451
diff changeset
    39
23021
41770cee3c6a test-resolve: add test resolving one of two files
Martin von Zweigbergk <martinvonz@gmail.com>
parents: 23020
diff changeset
    40
resolve -l should contain unresolved entries
21263
f3e37409ecd3 resolve: split test
Gregory Szorc <gregory.szorc@gmail.com>
parents: 16913
diff changeset
    41
f3e37409ecd3 resolve: split test
Gregory Szorc <gregory.szorc@gmail.com>
parents: 16913
diff changeset
    42
  $ hg resolve -l
23021
41770cee3c6a test-resolve: add test resolving one of two files
Martin von Zweigbergk <martinvonz@gmail.com>
parents: 23020
diff changeset
    43
  U file1
41770cee3c6a test-resolve: add test resolving one of two files
Martin von Zweigbergk <martinvonz@gmail.com>
parents: 23020
diff changeset
    44
  U file2
21263
f3e37409ecd3 resolve: split test
Gregory Szorc <gregory.szorc@gmail.com>
parents: 16913
diff changeset
    45
24127
4cb8002658d6 resolve: port to generic templater
Yuya Nishihara <yuya@tcha.org>
parents: 24125
diff changeset
    46
  $ hg resolve -l --no-status
4cb8002658d6 resolve: port to generic templater
Yuya Nishihara <yuya@tcha.org>
parents: 24125
diff changeset
    47
  file1
4cb8002658d6 resolve: port to generic templater
Yuya Nishihara <yuya@tcha.org>
parents: 24125
diff changeset
    48
  file2
4cb8002658d6 resolve: port to generic templater
Yuya Nishihara <yuya@tcha.org>
parents: 24125
diff changeset
    49
24125
18af6ebd4001 resolve: silence warning of unknown pats for -l/--list (BC)
Yuya Nishihara <yuya@tcha.org>
parents: 23025
diff changeset
    50
resolving an unknown path should emit a warning, but not for -l
23020
dfad19274d85 test-resolve: clarify test descriptions and consistently use "should"
Martin von Zweigbergk <martinvonz@gmail.com>
parents: 21947
diff changeset
    51
21265
232de244ab6f resolve: print warning when no work performed (issue4208)
Gregory Szorc <gregory.szorc@gmail.com>
parents: 21264
diff changeset
    52
  $ hg resolve -m does-not-exist
21721
6539c4e9c874 resolve: fix grammar of no matching files message
Matt Mackall <mpm@selenic.com>
parents: 21541
diff changeset
    53
  arguments do not match paths that need resolving
24125
18af6ebd4001 resolve: silence warning of unknown pats for -l/--list (BC)
Yuya Nishihara <yuya@tcha.org>
parents: 23025
diff changeset
    54
  $ hg resolve -l does-not-exist
21265
232de244ab6f resolve: print warning when no work performed (issue4208)
Gregory Szorc <gregory.szorc@gmail.com>
parents: 21264
diff changeset
    55
28402
7f77e71e5d7e resolve: when pats do not match, hint about path:
timeless <timeless@mozdev.org>
parents: 28011
diff changeset
    56
tell users how they could have used resolve
7f77e71e5d7e resolve: when pats do not match, hint about path:
timeless <timeless@mozdev.org>
parents: 28011
diff changeset
    57
7f77e71e5d7e resolve: when pats do not match, hint about path:
timeless <timeless@mozdev.org>
parents: 28011
diff changeset
    58
  $ mkdir nested
7f77e71e5d7e resolve: when pats do not match, hint about path:
timeless <timeless@mozdev.org>
parents: 28011
diff changeset
    59
  $ cd nested
7f77e71e5d7e resolve: when pats do not match, hint about path:
timeless <timeless@mozdev.org>
parents: 28011
diff changeset
    60
  $ hg resolve -m file1
7f77e71e5d7e resolve: when pats do not match, hint about path:
timeless <timeless@mozdev.org>
parents: 28011
diff changeset
    61
  arguments do not match paths that need resolving
7f77e71e5d7e resolve: when pats do not match, hint about path:
timeless <timeless@mozdev.org>
parents: 28011
diff changeset
    62
  (try: hg resolve -m path:file1)
7f77e71e5d7e resolve: when pats do not match, hint about path:
timeless <timeless@mozdev.org>
parents: 28011
diff changeset
    63
  $ hg resolve -m file1 filez
7f77e71e5d7e resolve: when pats do not match, hint about path:
timeless <timeless@mozdev.org>
parents: 28011
diff changeset
    64
  arguments do not match paths that need resolving
7f77e71e5d7e resolve: when pats do not match, hint about path:
timeless <timeless@mozdev.org>
parents: 28011
diff changeset
    65
  (try: hg resolve -m path:file1 path:filez)
7f77e71e5d7e resolve: when pats do not match, hint about path:
timeless <timeless@mozdev.org>
parents: 28011
diff changeset
    66
  $ hg resolve -m path:file1 path:filez
7f77e71e5d7e resolve: when pats do not match, hint about path:
timeless <timeless@mozdev.org>
parents: 28011
diff changeset
    67
  $ hg resolve -l
7f77e71e5d7e resolve: when pats do not match, hint about path:
timeless <timeless@mozdev.org>
parents: 28011
diff changeset
    68
  R file1
7f77e71e5d7e resolve: when pats do not match, hint about path:
timeless <timeless@mozdev.org>
parents: 28011
diff changeset
    69
  U file2
7f77e71e5d7e resolve: when pats do not match, hint about path:
timeless <timeless@mozdev.org>
parents: 28011
diff changeset
    70
  $ hg resolve -m filez file2
7f77e71e5d7e resolve: when pats do not match, hint about path:
timeless <timeless@mozdev.org>
parents: 28011
diff changeset
    71
  arguments do not match paths that need resolving
7f77e71e5d7e resolve: when pats do not match, hint about path:
timeless <timeless@mozdev.org>
parents: 28011
diff changeset
    72
  (try: hg resolve -m path:filez path:file2)
7f77e71e5d7e resolve: when pats do not match, hint about path:
timeless <timeless@mozdev.org>
parents: 28011
diff changeset
    73
  $ hg resolve -m path:filez path:file2
7f77e71e5d7e resolve: when pats do not match, hint about path:
timeless <timeless@mozdev.org>
parents: 28011
diff changeset
    74
  (no more unresolved files)
7f77e71e5d7e resolve: when pats do not match, hint about path:
timeless <timeless@mozdev.org>
parents: 28011
diff changeset
    75
  $ hg resolve -l
7f77e71e5d7e resolve: when pats do not match, hint about path:
timeless <timeless@mozdev.org>
parents: 28011
diff changeset
    76
  R file1
7f77e71e5d7e resolve: when pats do not match, hint about path:
timeless <timeless@mozdev.org>
parents: 28011
diff changeset
    77
  R file2
7f77e71e5d7e resolve: when pats do not match, hint about path:
timeless <timeless@mozdev.org>
parents: 28011
diff changeset
    78
7f77e71e5d7e resolve: when pats do not match, hint about path:
timeless <timeless@mozdev.org>
parents: 28011
diff changeset
    79
cleanup
7f77e71e5d7e resolve: when pats do not match, hint about path:
timeless <timeless@mozdev.org>
parents: 28011
diff changeset
    80
  $ hg resolve -u
7f77e71e5d7e resolve: when pats do not match, hint about path:
timeless <timeless@mozdev.org>
parents: 28011
diff changeset
    81
  $ cd ..
7f77e71e5d7e resolve: when pats do not match, hint about path:
timeless <timeless@mozdev.org>
parents: 28011
diff changeset
    82
  $ rmdir nested
7f77e71e5d7e resolve: when pats do not match, hint about path:
timeless <timeless@mozdev.org>
parents: 28011
diff changeset
    83
26784
c0aab5961876 commands.resolve: don't allow users to mark or unmark driver-resolved files
Siddharth Agarwal <sid0@fb.com>
parents: 26621
diff changeset
    84
don't allow marking or unmarking driver-resolved files
c0aab5961876 commands.resolve: don't allow users to mark or unmark driver-resolved files
Siddharth Agarwal <sid0@fb.com>
parents: 26621
diff changeset
    85
c0aab5961876 commands.resolve: don't allow users to mark or unmark driver-resolved files
Siddharth Agarwal <sid0@fb.com>
parents: 26621
diff changeset
    86
  $ cat > $TESTTMP/markdriver.py << EOF
c0aab5961876 commands.resolve: don't allow users to mark or unmark driver-resolved files
Siddharth Agarwal <sid0@fb.com>
parents: 26621
diff changeset
    87
  > '''mark and unmark files as driver-resolved'''
36645
7bc33d677c0c tests: fix various test-check-module-imports.t violations
Augie Fackler <augie@google.com>
parents: 36481
diff changeset
    88
  > from mercurial import (
7bc33d677c0c tests: fix various test-check-module-imports.t violations
Augie Fackler <augie@google.com>
parents: 36481
diff changeset
    89
  >    merge,
7bc33d677c0c tests: fix various test-check-module-imports.t violations
Augie Fackler <augie@google.com>
parents: 36481
diff changeset
    90
  >    pycompat,
7bc33d677c0c tests: fix various test-check-module-imports.t violations
Augie Fackler <augie@google.com>
parents: 36481
diff changeset
    91
  >    registrar,
7bc33d677c0c tests: fix various test-check-module-imports.t violations
Augie Fackler <augie@google.com>
parents: 36481
diff changeset
    92
  >    scmutil,
7bc33d677c0c tests: fix various test-check-module-imports.t violations
Augie Fackler <augie@google.com>
parents: 36481
diff changeset
    93
  > )
26784
c0aab5961876 commands.resolve: don't allow users to mark or unmark driver-resolved files
Siddharth Agarwal <sid0@fb.com>
parents: 26621
diff changeset
    94
  > cmdtable = {}
32337
46ba2cdda476 registrar: move cmdutil.command to registrar module (API)
Yuya Nishihara <yuya@tcha.org>
parents: 30062
diff changeset
    95
  > command = registrar.command(cmdtable)
33097
fce4ed2912bb py3: make sure commands name are bytes in tests
Pulkit Goyal <7895pulkit@gmail.com>
parents: 32337
diff changeset
    96
  > @command(b'markdriver',
36481
9660e629352b py3: port the markdirver extension in tests/test-resolve.t
Pulkit Goyal <7895pulkit@gmail.com>
parents: 35704
diff changeset
    97
  >   [(b'u', b'unmark', None, b'')],
9660e629352b py3: port the markdirver extension in tests/test-resolve.t
Pulkit Goyal <7895pulkit@gmail.com>
parents: 35704
diff changeset
    98
  >   b'FILE...')
26784
c0aab5961876 commands.resolve: don't allow users to mark or unmark driver-resolved files
Siddharth Agarwal <sid0@fb.com>
parents: 26621
diff changeset
    99
  > def markdriver(ui, repo, *pats, **opts):
c0aab5961876 commands.resolve: don't allow users to mark or unmark driver-resolved files
Siddharth Agarwal <sid0@fb.com>
parents: 26621
diff changeset
   100
  >     wlock = repo.wlock()
36481
9660e629352b py3: port the markdirver extension in tests/test-resolve.t
Pulkit Goyal <7895pulkit@gmail.com>
parents: 35704
diff changeset
   101
  >     opts = pycompat.byteskwargs(opts)
26784
c0aab5961876 commands.resolve: don't allow users to mark or unmark driver-resolved files
Siddharth Agarwal <sid0@fb.com>
parents: 26621
diff changeset
   102
  >     try:
26997
1791f9aa782f test-resolve.t: switch to mergestate.read()
Siddharth Agarwal <sid0@fb.com>
parents: 26969
diff changeset
   103
  >         ms = merge.mergestate.read(repo)
26784
c0aab5961876 commands.resolve: don't allow users to mark or unmark driver-resolved files
Siddharth Agarwal <sid0@fb.com>
parents: 26621
diff changeset
   104
  >         m = scmutil.match(repo[None], pats, opts)
c0aab5961876 commands.resolve: don't allow users to mark or unmark driver-resolved files
Siddharth Agarwal <sid0@fb.com>
parents: 26621
diff changeset
   105
  >         for f in ms:
c0aab5961876 commands.resolve: don't allow users to mark or unmark driver-resolved files
Siddharth Agarwal <sid0@fb.com>
parents: 26621
diff changeset
   106
  >             if not m(f):
c0aab5961876 commands.resolve: don't allow users to mark or unmark driver-resolved files
Siddharth Agarwal <sid0@fb.com>
parents: 26621
diff changeset
   107
  >                 continue
36481
9660e629352b py3: port the markdirver extension in tests/test-resolve.t
Pulkit Goyal <7895pulkit@gmail.com>
parents: 35704
diff changeset
   108
  >             if not opts[b'unmark']:
9660e629352b py3: port the markdirver extension in tests/test-resolve.t
Pulkit Goyal <7895pulkit@gmail.com>
parents: 35704
diff changeset
   109
  >                 ms.mark(f, b'd')
26784
c0aab5961876 commands.resolve: don't allow users to mark or unmark driver-resolved files
Siddharth Agarwal <sid0@fb.com>
parents: 26621
diff changeset
   110
  >             else:
36481
9660e629352b py3: port the markdirver extension in tests/test-resolve.t
Pulkit Goyal <7895pulkit@gmail.com>
parents: 35704
diff changeset
   111
  >                 ms.mark(f, b'u')
26784
c0aab5961876 commands.resolve: don't allow users to mark or unmark driver-resolved files
Siddharth Agarwal <sid0@fb.com>
parents: 26621
diff changeset
   112
  >         ms.commit()
c0aab5961876 commands.resolve: don't allow users to mark or unmark driver-resolved files
Siddharth Agarwal <sid0@fb.com>
parents: 26621
diff changeset
   113
  >     finally:
c0aab5961876 commands.resolve: don't allow users to mark or unmark driver-resolved files
Siddharth Agarwal <sid0@fb.com>
parents: 26621
diff changeset
   114
  >         wlock.release()
c0aab5961876 commands.resolve: don't allow users to mark or unmark driver-resolved files
Siddharth Agarwal <sid0@fb.com>
parents: 26621
diff changeset
   115
  > EOF
c0aab5961876 commands.resolve: don't allow users to mark or unmark driver-resolved files
Siddharth Agarwal <sid0@fb.com>
parents: 26621
diff changeset
   116
  $ hg --config extensions.markdriver=$TESTTMP/markdriver.py markdriver file1
c0aab5961876 commands.resolve: don't allow users to mark or unmark driver-resolved files
Siddharth Agarwal <sid0@fb.com>
parents: 26621
diff changeset
   117
  $ hg resolve --list
c0aab5961876 commands.resolve: don't allow users to mark or unmark driver-resolved files
Siddharth Agarwal <sid0@fb.com>
parents: 26621
diff changeset
   118
  D file1
c0aab5961876 commands.resolve: don't allow users to mark or unmark driver-resolved files
Siddharth Agarwal <sid0@fb.com>
parents: 26621
diff changeset
   119
  U file2
c0aab5961876 commands.resolve: don't allow users to mark or unmark driver-resolved files
Siddharth Agarwal <sid0@fb.com>
parents: 26621
diff changeset
   120
  $ hg resolve --mark file1
c0aab5961876 commands.resolve: don't allow users to mark or unmark driver-resolved files
Siddharth Agarwal <sid0@fb.com>
parents: 26621
diff changeset
   121
  not marking file1 as it is driver-resolved
c0aab5961876 commands.resolve: don't allow users to mark or unmark driver-resolved files
Siddharth Agarwal <sid0@fb.com>
parents: 26621
diff changeset
   122
this should not print out file1
c0aab5961876 commands.resolve: don't allow users to mark or unmark driver-resolved files
Siddharth Agarwal <sid0@fb.com>
parents: 26621
diff changeset
   123
  $ hg resolve --mark --all
c0aab5961876 commands.resolve: don't allow users to mark or unmark driver-resolved files
Siddharth Agarwal <sid0@fb.com>
parents: 26621
diff changeset
   124
  (no more unresolved files -- run "hg resolve --all" to conclude)
c0aab5961876 commands.resolve: don't allow users to mark or unmark driver-resolved files
Siddharth Agarwal <sid0@fb.com>
parents: 26621
diff changeset
   125
  $ hg resolve --mark 'glob:file*'
c0aab5961876 commands.resolve: don't allow users to mark or unmark driver-resolved files
Siddharth Agarwal <sid0@fb.com>
parents: 26621
diff changeset
   126
  (no more unresolved files -- run "hg resolve --all" to conclude)
c0aab5961876 commands.resolve: don't allow users to mark or unmark driver-resolved files
Siddharth Agarwal <sid0@fb.com>
parents: 26621
diff changeset
   127
  $ hg resolve --list
c0aab5961876 commands.resolve: don't allow users to mark or unmark driver-resolved files
Siddharth Agarwal <sid0@fb.com>
parents: 26621
diff changeset
   128
  D file1
c0aab5961876 commands.resolve: don't allow users to mark or unmark driver-resolved files
Siddharth Agarwal <sid0@fb.com>
parents: 26621
diff changeset
   129
  R file2
c0aab5961876 commands.resolve: don't allow users to mark or unmark driver-resolved files
Siddharth Agarwal <sid0@fb.com>
parents: 26621
diff changeset
   130
  $ hg resolve --unmark file1
c0aab5961876 commands.resolve: don't allow users to mark or unmark driver-resolved files
Siddharth Agarwal <sid0@fb.com>
parents: 26621
diff changeset
   131
  not unmarking file1 as it is driver-resolved
c0aab5961876 commands.resolve: don't allow users to mark or unmark driver-resolved files
Siddharth Agarwal <sid0@fb.com>
parents: 26621
diff changeset
   132
  (no more unresolved files -- run "hg resolve --all" to conclude)
c0aab5961876 commands.resolve: don't allow users to mark or unmark driver-resolved files
Siddharth Agarwal <sid0@fb.com>
parents: 26621
diff changeset
   133
  $ hg resolve --unmark --all
c0aab5961876 commands.resolve: don't allow users to mark or unmark driver-resolved files
Siddharth Agarwal <sid0@fb.com>
parents: 26621
diff changeset
   134
  $ hg resolve --list
c0aab5961876 commands.resolve: don't allow users to mark or unmark driver-resolved files
Siddharth Agarwal <sid0@fb.com>
parents: 26621
diff changeset
   135
  D file1
c0aab5961876 commands.resolve: don't allow users to mark or unmark driver-resolved files
Siddharth Agarwal <sid0@fb.com>
parents: 26621
diff changeset
   136
  U file2
c0aab5961876 commands.resolve: don't allow users to mark or unmark driver-resolved files
Siddharth Agarwal <sid0@fb.com>
parents: 26621
diff changeset
   137
  $ hg --config extensions.markdriver=$TESTTMP/markdriver.py markdriver --unmark file1
c0aab5961876 commands.resolve: don't allow users to mark or unmark driver-resolved files
Siddharth Agarwal <sid0@fb.com>
parents: 26621
diff changeset
   138
  $ hg resolve --list
c0aab5961876 commands.resolve: don't allow users to mark or unmark driver-resolved files
Siddharth Agarwal <sid0@fb.com>
parents: 26621
diff changeset
   139
  U file1
c0aab5961876 commands.resolve: don't allow users to mark or unmark driver-resolved files
Siddharth Agarwal <sid0@fb.com>
parents: 26621
diff changeset
   140
  U file2
c0aab5961876 commands.resolve: don't allow users to mark or unmark driver-resolved files
Siddharth Agarwal <sid0@fb.com>
parents: 26621
diff changeset
   141
21263
f3e37409ecd3 resolve: split test
Gregory Szorc <gregory.szorc@gmail.com>
parents: 16913
diff changeset
   142
resolve the failure
f3e37409ecd3 resolve: split test
Gregory Szorc <gregory.szorc@gmail.com>
parents: 16913
diff changeset
   143
23021
41770cee3c6a test-resolve: add test resolving one of two files
Martin von Zweigbergk <martinvonz@gmail.com>
parents: 23020
diff changeset
   144
  $ echo resolved > file1
41770cee3c6a test-resolve: add test resolving one of two files
Martin von Zweigbergk <martinvonz@gmail.com>
parents: 23020
diff changeset
   145
  $ hg resolve -m file1
41770cee3c6a test-resolve: add test resolving one of two files
Martin von Zweigbergk <martinvonz@gmail.com>
parents: 23020
diff changeset
   146
41770cee3c6a test-resolve: add test resolving one of two files
Martin von Zweigbergk <martinvonz@gmail.com>
parents: 23020
diff changeset
   147
resolve -l should show resolved file as resolved
41770cee3c6a test-resolve: add test resolving one of two files
Martin von Zweigbergk <martinvonz@gmail.com>
parents: 23020
diff changeset
   148
41770cee3c6a test-resolve: add test resolving one of two files
Martin von Zweigbergk <martinvonz@gmail.com>
parents: 23020
diff changeset
   149
  $ hg resolve -l
41770cee3c6a test-resolve: add test resolving one of two files
Martin von Zweigbergk <martinvonz@gmail.com>
parents: 23020
diff changeset
   150
  R file1
41770cee3c6a test-resolve: add test resolving one of two files
Martin von Zweigbergk <martinvonz@gmail.com>
parents: 23020
diff changeset
   151
  U file2
41770cee3c6a test-resolve: add test resolving one of two files
Martin von Zweigbergk <martinvonz@gmail.com>
parents: 23020
diff changeset
   152
24127
4cb8002658d6 resolve: port to generic templater
Yuya Nishihara <yuya@tcha.org>
parents: 24125
diff changeset
   153
  $ hg resolve -l -Tjson
4cb8002658d6 resolve: port to generic templater
Yuya Nishihara <yuya@tcha.org>
parents: 24125
diff changeset
   154
  [
4cb8002658d6 resolve: port to generic templater
Yuya Nishihara <yuya@tcha.org>
parents: 24125
diff changeset
   155
   {
4cb8002658d6 resolve: port to generic templater
Yuya Nishihara <yuya@tcha.org>
parents: 24125
diff changeset
   156
    "path": "file1",
4cb8002658d6 resolve: port to generic templater
Yuya Nishihara <yuya@tcha.org>
parents: 24125
diff changeset
   157
    "status": "R"
4cb8002658d6 resolve: port to generic templater
Yuya Nishihara <yuya@tcha.org>
parents: 24125
diff changeset
   158
   },
4cb8002658d6 resolve: port to generic templater
Yuya Nishihara <yuya@tcha.org>
parents: 24125
diff changeset
   159
   {
4cb8002658d6 resolve: port to generic templater
Yuya Nishihara <yuya@tcha.org>
parents: 24125
diff changeset
   160
    "path": "file2",
4cb8002658d6 resolve: port to generic templater
Yuya Nishihara <yuya@tcha.org>
parents: 24125
diff changeset
   161
    "status": "U"
4cb8002658d6 resolve: port to generic templater
Yuya Nishihara <yuya@tcha.org>
parents: 24125
diff changeset
   162
   }
4cb8002658d6 resolve: port to generic templater
Yuya Nishihara <yuya@tcha.org>
parents: 24125
diff changeset
   163
  ]
4cb8002658d6 resolve: port to generic templater
Yuya Nishihara <yuya@tcha.org>
parents: 24125
diff changeset
   164
38544
e8c33e27ee9b resolve: add support for log-like template keywords and functions
Yuya Nishihara <yuya@tcha.org>
parents: 36645
diff changeset
   165
  $ hg resolve -l -T '{path} {status} {p1rev} {p2rev}\n'
e8c33e27ee9b resolve: add support for log-like template keywords and functions
Yuya Nishihara <yuya@tcha.org>
parents: 36645
diff changeset
   166
  file1 R 2 1
e8c33e27ee9b resolve: add support for log-like template keywords and functions
Yuya Nishihara <yuya@tcha.org>
parents: 36645
diff changeset
   167
  file2 U 2 1
e8c33e27ee9b resolve: add support for log-like template keywords and functions
Yuya Nishihara <yuya@tcha.org>
parents: 36645
diff changeset
   168
23021
41770cee3c6a test-resolve: add test resolving one of two files
Martin von Zweigbergk <martinvonz@gmail.com>
parents: 23020
diff changeset
   169
resolve -m without paths should mark all resolved
41770cee3c6a test-resolve: add test resolving one of two files
Martin von Zweigbergk <martinvonz@gmail.com>
parents: 23020
diff changeset
   170
41770cee3c6a test-resolve: add test resolving one of two files
Martin von Zweigbergk <martinvonz@gmail.com>
parents: 23020
diff changeset
   171
  $ hg resolve -m
21947
b081decd9062 resolve: add parenthesis around "no more unresolved files" message
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 21721
diff changeset
   172
  (no more unresolved files)
12117
a40372c1c731 tests: unify test-resolve
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 11451
diff changeset
   173
  $ hg commit -m 'resolved'
7734
9f73bddb9d0b reset mergestate after commit
Martin Geisler <mg@daimi.au.dk>
parents:
diff changeset
   174
23020
dfad19274d85 test-resolve: clarify test descriptions and consistently use "should"
Martin von Zweigbergk <martinvonz@gmail.com>
parents: 21947
diff changeset
   175
resolve -l should be empty after commit
12117
a40372c1c731 tests: unify test-resolve
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 11451
diff changeset
   176
a40372c1c731 tests: unify test-resolve
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 11451
diff changeset
   177
  $ hg resolve -l
21541
6062593d8b06 resolve: don't abort resolve -l even when no merge is in progress
Siddharth Agarwal <sid0@fb.com>
parents: 21267
diff changeset
   178
24127
4cb8002658d6 resolve: port to generic templater
Yuya Nishihara <yuya@tcha.org>
parents: 24125
diff changeset
   179
  $ hg resolve -l -Tjson
4cb8002658d6 resolve: port to generic templater
Yuya Nishihara <yuya@tcha.org>
parents: 24125
diff changeset
   180
  [
4cb8002658d6 resolve: port to generic templater
Yuya Nishihara <yuya@tcha.org>
parents: 24125
diff changeset
   181
  ]
4cb8002658d6 resolve: port to generic templater
Yuya Nishihara <yuya@tcha.org>
parents: 24125
diff changeset
   182
23022
ace380a0619b test-resolve: add more tests for in conflict-free states
Martin von Zweigbergk <martinvonz@gmail.com>
parents: 23021
diff changeset
   183
resolve --all should abort when no merge in progress
ace380a0619b test-resolve: add more tests for in conflict-free states
Martin von Zweigbergk <martinvonz@gmail.com>
parents: 23021
diff changeset
   184
ace380a0619b test-resolve: add more tests for in conflict-free states
Martin von Zweigbergk <martinvonz@gmail.com>
parents: 23021
diff changeset
   185
  $ hg resolve --all
ace380a0619b test-resolve: add more tests for in conflict-free states
Martin von Zweigbergk <martinvonz@gmail.com>
parents: 23021
diff changeset
   186
  abort: resolve command not applicable when not merging
ace380a0619b test-resolve: add more tests for in conflict-free states
Martin von Zweigbergk <martinvonz@gmail.com>
parents: 23021
diff changeset
   187
  [255]
ace380a0619b test-resolve: add more tests for in conflict-free states
Martin von Zweigbergk <martinvonz@gmail.com>
parents: 23021
diff changeset
   188
23020
dfad19274d85 test-resolve: clarify test descriptions and consistently use "should"
Martin von Zweigbergk <martinvonz@gmail.com>
parents: 21947
diff changeset
   189
resolve -m should abort when no merge in progress
dfad19274d85 test-resolve: clarify test descriptions and consistently use "should"
Martin von Zweigbergk <martinvonz@gmail.com>
parents: 21947
diff changeset
   190
21541
6062593d8b06 resolve: don't abort resolve -l even when no merge is in progress
Siddharth Agarwal <sid0@fb.com>
parents: 21267
diff changeset
   191
  $ hg resolve -m
21264
4e932dc5c113 resolve: abort when not applicable (BC)
Gregory Szorc <gregory.szorc@gmail.com>
parents: 21263
diff changeset
   192
  abort: resolve command not applicable when not merging
4e932dc5c113 resolve: abort when not applicable (BC)
Gregory Szorc <gregory.szorc@gmail.com>
parents: 21263
diff changeset
   193
  [255]
12117
a40372c1c731 tests: unify test-resolve
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 11451
diff changeset
   194
27316
777f668eca70 merge: refuse update/merge if there are unresolved conflicts (BC)
Martin von Zweigbergk <martinvonz@google.com>
parents: 27067
diff changeset
   195
can not update or merge when there are unresolved conflicts
777f668eca70 merge: refuse update/merge if there are unresolved conflicts (BC)
Martin von Zweigbergk <martinvonz@google.com>
parents: 27067
diff changeset
   196
777f668eca70 merge: refuse update/merge if there are unresolved conflicts (BC)
Martin von Zweigbergk <martinvonz@google.com>
parents: 27067
diff changeset
   197
  $ hg up -qC 0
777f668eca70 merge: refuse update/merge if there are unresolved conflicts (BC)
Martin von Zweigbergk <martinvonz@google.com>
parents: 27067
diff changeset
   198
  $ echo quux >> file1
777f668eca70 merge: refuse update/merge if there are unresolved conflicts (BC)
Martin von Zweigbergk <martinvonz@google.com>
parents: 27067
diff changeset
   199
  $ hg up 1
777f668eca70 merge: refuse update/merge if there are unresolved conflicts (BC)
Martin von Zweigbergk <martinvonz@google.com>
parents: 27067
diff changeset
   200
  merging file1
777f668eca70 merge: refuse update/merge if there are unresolved conflicts (BC)
Martin von Zweigbergk <martinvonz@google.com>
parents: 27067
diff changeset
   201
  warning: conflicts while merging file1! (edit, then use 'hg resolve --mark')
777f668eca70 merge: refuse update/merge if there are unresolved conflicts (BC)
Martin von Zweigbergk <martinvonz@google.com>
parents: 27067
diff changeset
   202
  1 files updated, 0 files merged, 0 files removed, 1 files unresolved
777f668eca70 merge: refuse update/merge if there are unresolved conflicts (BC)
Martin von Zweigbergk <martinvonz@google.com>
parents: 27067
diff changeset
   203
  use 'hg resolve' to retry unresolved file merges
777f668eca70 merge: refuse update/merge if there are unresolved conflicts (BC)
Martin von Zweigbergk <martinvonz@google.com>
parents: 27067
diff changeset
   204
  [1]
777f668eca70 merge: refuse update/merge if there are unresolved conflicts (BC)
Martin von Zweigbergk <martinvonz@google.com>
parents: 27067
diff changeset
   205
  $ hg up 0
777f668eca70 merge: refuse update/merge if there are unresolved conflicts (BC)
Martin von Zweigbergk <martinvonz@google.com>
parents: 27067
diff changeset
   206
  abort: outstanding merge conflicts
777f668eca70 merge: refuse update/merge if there are unresolved conflicts (BC)
Martin von Zweigbergk <martinvonz@google.com>
parents: 27067
diff changeset
   207
  [255]
777f668eca70 merge: refuse update/merge if there are unresolved conflicts (BC)
Martin von Zweigbergk <martinvonz@google.com>
parents: 27067
diff changeset
   208
  $ hg merge 2
777f668eca70 merge: refuse update/merge if there are unresolved conflicts (BC)
Martin von Zweigbergk <martinvonz@google.com>
parents: 27067
diff changeset
   209
  abort: outstanding merge conflicts
777f668eca70 merge: refuse update/merge if there are unresolved conflicts (BC)
Martin von Zweigbergk <martinvonz@google.com>
parents: 27067
diff changeset
   210
  [255]
777f668eca70 merge: refuse update/merge if there are unresolved conflicts (BC)
Martin von Zweigbergk <martinvonz@google.com>
parents: 27067
diff changeset
   211
  $ hg merge --force 2
777f668eca70 merge: refuse update/merge if there are unresolved conflicts (BC)
Martin von Zweigbergk <martinvonz@google.com>
parents: 27067
diff changeset
   212
  abort: outstanding merge conflicts
777f668eca70 merge: refuse update/merge if there are unresolved conflicts (BC)
Martin von Zweigbergk <martinvonz@google.com>
parents: 27067
diff changeset
   213
  [255]
777f668eca70 merge: refuse update/merge if there are unresolved conflicts (BC)
Martin von Zweigbergk <martinvonz@google.com>
parents: 27067
diff changeset
   214
23022
ace380a0619b test-resolve: add more tests for in conflict-free states
Martin von Zweigbergk <martinvonz@gmail.com>
parents: 23021
diff changeset
   215
set up conflict-free merge
ace380a0619b test-resolve: add more tests for in conflict-free states
Martin von Zweigbergk <martinvonz@gmail.com>
parents: 23021
diff changeset
   216
ace380a0619b test-resolve: add more tests for in conflict-free states
Martin von Zweigbergk <martinvonz@gmail.com>
parents: 23021
diff changeset
   217
  $ hg up -qC 3
ace380a0619b test-resolve: add more tests for in conflict-free states
Martin von Zweigbergk <martinvonz@gmail.com>
parents: 23021
diff changeset
   218
  $ hg merge 1
ace380a0619b test-resolve: add more tests for in conflict-free states
Martin von Zweigbergk <martinvonz@gmail.com>
parents: 23021
diff changeset
   219
  2 files updated, 0 files merged, 0 files removed, 0 files unresolved
ace380a0619b test-resolve: add more tests for in conflict-free states
Martin von Zweigbergk <martinvonz@gmail.com>
parents: 23021
diff changeset
   220
  (branch merge, don't forget to commit)
ace380a0619b test-resolve: add more tests for in conflict-free states
Martin von Zweigbergk <martinvonz@gmail.com>
parents: 23021
diff changeset
   221
23024
ec36969497de resolve: run happily after conflict-free merge
Martin von Zweigbergk <martinvonz@gmail.com>
parents: 23023
diff changeset
   222
resolve --all should do nothing in merge without conflicts
23022
ace380a0619b test-resolve: add more tests for in conflict-free states
Martin von Zweigbergk <martinvonz@gmail.com>
parents: 23021
diff changeset
   223
  $ hg resolve --all
23024
ec36969497de resolve: run happily after conflict-free merge
Martin von Zweigbergk <martinvonz@gmail.com>
parents: 23023
diff changeset
   224
  (no more unresolved files)
23022
ace380a0619b test-resolve: add more tests for in conflict-free states
Martin von Zweigbergk <martinvonz@gmail.com>
parents: 23021
diff changeset
   225
23024
ec36969497de resolve: run happily after conflict-free merge
Martin von Zweigbergk <martinvonz@gmail.com>
parents: 23023
diff changeset
   226
resolve -m should do nothing in merge without conflicts
23022
ace380a0619b test-resolve: add more tests for in conflict-free states
Martin von Zweigbergk <martinvonz@gmail.com>
parents: 23021
diff changeset
   227
ace380a0619b test-resolve: add more tests for in conflict-free states
Martin von Zweigbergk <martinvonz@gmail.com>
parents: 23021
diff changeset
   228
  $ hg resolve -m
23024
ec36969497de resolve: run happily after conflict-free merge
Martin von Zweigbergk <martinvonz@gmail.com>
parents: 23023
diff changeset
   229
  (no more unresolved files)
23022
ace380a0619b test-resolve: add more tests for in conflict-free states
Martin von Zweigbergk <martinvonz@gmail.com>
parents: 23021
diff changeset
   230
23023
63c9088bebad test-resolve: add tests for re-merge
Martin von Zweigbergk <martinvonz@gmail.com>
parents: 23022
diff changeset
   231
get back to conflicting state
63c9088bebad test-resolve: add tests for re-merge
Martin von Zweigbergk <martinvonz@gmail.com>
parents: 23022
diff changeset
   232
63c9088bebad test-resolve: add tests for re-merge
Martin von Zweigbergk <martinvonz@gmail.com>
parents: 23022
diff changeset
   233
  $ hg up -qC 2
63c9088bebad test-resolve: add tests for re-merge
Martin von Zweigbergk <martinvonz@gmail.com>
parents: 23022
diff changeset
   234
  $ hg merge --tool=internal:fail 1
63c9088bebad test-resolve: add tests for re-merge
Martin von Zweigbergk <martinvonz@gmail.com>
parents: 23022
diff changeset
   235
  0 files updated, 0 files merged, 0 files removed, 2 files unresolved
35704
41ef02ba329b merge: add `--abort` flag which can abort the merge
Pulkit Goyal <7895pulkit@gmail.com>
parents: 35393
diff changeset
   236
  use 'hg resolve' to retry unresolved file merges or 'hg merge --abort' to abandon
23023
63c9088bebad test-resolve: add tests for re-merge
Martin von Zweigbergk <martinvonz@gmail.com>
parents: 23022
diff changeset
   237
  [1]
63c9088bebad test-resolve: add tests for re-merge
Martin von Zweigbergk <martinvonz@gmail.com>
parents: 23022
diff changeset
   238
63c9088bebad test-resolve: add tests for re-merge
Martin von Zweigbergk <martinvonz@gmail.com>
parents: 23022
diff changeset
   239
resolve without arguments should suggest --all
63c9088bebad test-resolve: add tests for re-merge
Martin von Zweigbergk <martinvonz@gmail.com>
parents: 23022
diff changeset
   240
  $ hg resolve
63c9088bebad test-resolve: add tests for re-merge
Martin von Zweigbergk <martinvonz@gmail.com>
parents: 23022
diff changeset
   241
  abort: no files or directories specified
26352
e635bc9bb7d9 resolve: consistently describe re-merge + unresolved
timeless@mozdev.org
parents: 24127
diff changeset
   242
  (use --all to re-merge all unresolved files)
23023
63c9088bebad test-resolve: add tests for re-merge
Martin von Zweigbergk <martinvonz@gmail.com>
parents: 23022
diff changeset
   243
  [255]
63c9088bebad test-resolve: add tests for re-merge
Martin von Zweigbergk <martinvonz@gmail.com>
parents: 23022
diff changeset
   244
63c9088bebad test-resolve: add tests for re-merge
Martin von Zweigbergk <martinvonz@gmail.com>
parents: 23022
diff changeset
   245
resolve --all should re-merge all unresolved files
26619
3b213a904b98 test-resolve.t: add some output to show order of operations
Siddharth Agarwal <sid0@fb.com>
parents: 26614
diff changeset
   246
  $ hg resolve --all
3b213a904b98 test-resolve.t: add some output to show order of operations
Siddharth Agarwal <sid0@fb.com>
parents: 26614
diff changeset
   247
  merging file1
26621
36383507a6f8 resolve: perform all premerges before performing any file merges (BC)
Siddharth Agarwal <sid0@fb.com>
parents: 26620
diff changeset
   248
  merging file2
26614
ef1eb6df7071 simplemerge: move conflict warning message to filemerge
Siddharth Agarwal <sid0@fb.com>
parents: 26352
diff changeset
   249
  warning: conflicts while merging file1! (edit, then use 'hg resolve --mark')
ef1eb6df7071 simplemerge: move conflict warning message to filemerge
Siddharth Agarwal <sid0@fb.com>
parents: 26352
diff changeset
   250
  warning: conflicts while merging file2! (edit, then use 'hg resolve --mark')
23023
63c9088bebad test-resolve: add tests for re-merge
Martin von Zweigbergk <martinvonz@gmail.com>
parents: 23022
diff changeset
   251
  [1]
26620
7955127efbcb test-resolve.t: add some tests for .orig file contents
Siddharth Agarwal <sid0@fb.com>
parents: 26619
diff changeset
   252
  $ cat file1.orig
7955127efbcb test-resolve.t: add some tests for .orig file contents
Siddharth Agarwal <sid0@fb.com>
parents: 26619
diff changeset
   253
  foo
7955127efbcb test-resolve.t: add some tests for .orig file contents
Siddharth Agarwal <sid0@fb.com>
parents: 26619
diff changeset
   254
  baz
7955127efbcb test-resolve.t: add some tests for .orig file contents
Siddharth Agarwal <sid0@fb.com>
parents: 26619
diff changeset
   255
  $ cat file2.orig
7955127efbcb test-resolve.t: add some tests for .orig file contents
Siddharth Agarwal <sid0@fb.com>
parents: 26619
diff changeset
   256
  foo
7955127efbcb test-resolve.t: add some tests for .orig file contents
Siddharth Agarwal <sid0@fb.com>
parents: 26619
diff changeset
   257
  baz
26939
50d2389a2e49 resolve: choose where .orig file locations are kept
Christian Delahousse <cdelahousse@fb.com>
parents: 26784
diff changeset
   258
50d2389a2e49 resolve: choose where .orig file locations are kept
Christian Delahousse <cdelahousse@fb.com>
parents: 26784
diff changeset
   259
.orig files should exists where specified
50d2389a2e49 resolve: choose where .orig file locations are kept
Christian Delahousse <cdelahousse@fb.com>
parents: 26784
diff changeset
   260
  $ hg resolve --all --verbose --config 'ui.origbackuppath=.hg/origbackups'
50d2389a2e49 resolve: choose where .orig file locations are kept
Christian Delahousse <cdelahousse@fb.com>
parents: 26784
diff changeset
   261
  merging file1
35393
4441705b7111 tests: remove (glob) annotations that were only for '\' matches
Matt Harbison <matt_harbison@yahoo.com>
parents: 34146
diff changeset
   262
  creating directory: $TESTTMP/repo/.hg/origbackups
26939
50d2389a2e49 resolve: choose where .orig file locations are kept
Christian Delahousse <cdelahousse@fb.com>
parents: 26784
diff changeset
   263
  merging file2
50d2389a2e49 resolve: choose where .orig file locations are kept
Christian Delahousse <cdelahousse@fb.com>
parents: 26784
diff changeset
   264
  warning: conflicts while merging file1! (edit, then use 'hg resolve --mark')
50d2389a2e49 resolve: choose where .orig file locations are kept
Christian Delahousse <cdelahousse@fb.com>
parents: 26784
diff changeset
   265
  warning: conflicts while merging file2! (edit, then use 'hg resolve --mark')
50d2389a2e49 resolve: choose where .orig file locations are kept
Christian Delahousse <cdelahousse@fb.com>
parents: 26784
diff changeset
   266
  [1]
50d2389a2e49 resolve: choose where .orig file locations are kept
Christian Delahousse <cdelahousse@fb.com>
parents: 26784
diff changeset
   267
  $ ls .hg/origbackups
34146
9e4f82bc2b0b scmutil: don't append .orig to backups in origbackuppath (BC)
Mark Thomas <mbthomas@fb.com>
parents: 33097
diff changeset
   268
  file1
9e4f82bc2b0b scmutil: don't append .orig to backups in origbackuppath (BC)
Mark Thomas <mbthomas@fb.com>
parents: 33097
diff changeset
   269
  file2
23025
b8dd8432395d test-resolve.t: use redirection to /dev/null instead of grep -q
Augie Fackler <raf@durin42.com>
parents: 23024
diff changeset
   270
  $ grep '<<<' file1 > /dev/null
b8dd8432395d test-resolve.t: use redirection to /dev/null instead of grep -q
Augie Fackler <raf@durin42.com>
parents: 23024
diff changeset
   271
  $ grep '<<<' file2 > /dev/null
23023
63c9088bebad test-resolve: add tests for re-merge
Martin von Zweigbergk <martinvonz@gmail.com>
parents: 23022
diff changeset
   272
63c9088bebad test-resolve: add tests for re-merge
Martin von Zweigbergk <martinvonz@gmail.com>
parents: 23022
diff changeset
   273
resolve <file> should re-merge file
63c9088bebad test-resolve: add tests for re-merge
Martin von Zweigbergk <martinvonz@gmail.com>
parents: 23022
diff changeset
   274
  $ echo resolved > file1
63c9088bebad test-resolve: add tests for re-merge
Martin von Zweigbergk <martinvonz@gmail.com>
parents: 23022
diff changeset
   275
  $ hg resolve -q file1
26614
ef1eb6df7071 simplemerge: move conflict warning message to filemerge
Siddharth Agarwal <sid0@fb.com>
parents: 26352
diff changeset
   276
  warning: conflicts while merging file1! (edit, then use 'hg resolve --mark')
23023
63c9088bebad test-resolve: add tests for re-merge
Martin von Zweigbergk <martinvonz@gmail.com>
parents: 23022
diff changeset
   277
  [1]
23025
b8dd8432395d test-resolve.t: use redirection to /dev/null instead of grep -q
Augie Fackler <raf@durin42.com>
parents: 23024
diff changeset
   278
  $ grep '<<<' file1 > /dev/null
23023
63c9088bebad test-resolve: add tests for re-merge
Martin von Zweigbergk <martinvonz@gmail.com>
parents: 23022
diff changeset
   279
26959
ed5f20f9c22e resolve: restore .orig only after merge is fully complete (issue4952)
Siddharth Agarwal <sid0@fb.com>
parents: 26784
diff changeset
   280
test .orig behavior with resolve
ed5f20f9c22e resolve: restore .orig only after merge is fully complete (issue4952)
Siddharth Agarwal <sid0@fb.com>
parents: 26784
diff changeset
   281
27067
19b52cde2b84 test-resolve: fix '--tool f' invocation for Windows
Matt Harbison <matt_harbison@yahoo.com>
parents: 27027
diff changeset
   282
  $ hg resolve -q file1 --tool "sh -c 'f --dump \"$TESTTMP/repo/file1.orig\"'"
35393
4441705b7111 tests: remove (glob) annotations that were only for '\' matches
Matt Harbison <matt_harbison@yahoo.com>
parents: 34146
diff changeset
   283
  $TESTTMP/repo/file1.orig:
26959
ed5f20f9c22e resolve: restore .orig only after merge is fully complete (issue4952)
Siddharth Agarwal <sid0@fb.com>
parents: 26784
diff changeset
   284
  >>>
ed5f20f9c22e resolve: restore .orig only after merge is fully complete (issue4952)
Siddharth Agarwal <sid0@fb.com>
parents: 26784
diff changeset
   285
  foo
ed5f20f9c22e resolve: restore .orig only after merge is fully complete (issue4952)
Siddharth Agarwal <sid0@fb.com>
parents: 26784
diff changeset
   286
  baz
ed5f20f9c22e resolve: restore .orig only after merge is fully complete (issue4952)
Siddharth Agarwal <sid0@fb.com>
parents: 26784
diff changeset
   287
  <<<
ed5f20f9c22e resolve: restore .orig only after merge is fully complete (issue4952)
Siddharth Agarwal <sid0@fb.com>
parents: 26784
diff changeset
   288
23023
63c9088bebad test-resolve: add tests for re-merge
Martin von Zweigbergk <martinvonz@gmail.com>
parents: 23022
diff changeset
   289
resolve <file> should do nothing if 'file' was marked resolved
63c9088bebad test-resolve: add tests for re-merge
Martin von Zweigbergk <martinvonz@gmail.com>
parents: 23022
diff changeset
   290
  $ echo resolved > file1
63c9088bebad test-resolve: add tests for re-merge
Martin von Zweigbergk <martinvonz@gmail.com>
parents: 23022
diff changeset
   291
  $ hg resolve -m file1
63c9088bebad test-resolve: add tests for re-merge
Martin von Zweigbergk <martinvonz@gmail.com>
parents: 23022
diff changeset
   292
  $ hg resolve -q file1
63c9088bebad test-resolve: add tests for re-merge
Martin von Zweigbergk <martinvonz@gmail.com>
parents: 23022
diff changeset
   293
  $ cat file1
63c9088bebad test-resolve: add tests for re-merge
Martin von Zweigbergk <martinvonz@gmail.com>
parents: 23022
diff changeset
   294
  resolved
63c9088bebad test-resolve: add tests for re-merge
Martin von Zweigbergk <martinvonz@gmail.com>
parents: 23022
diff changeset
   295
27027
a01ecbcfaf84 mergestate: handle additional record types specially
Siddharth Agarwal <sid0@fb.com>
parents: 27026
diff changeset
   296
insert unsupported advisory merge record
a01ecbcfaf84 mergestate: handle additional record types specially
Siddharth Agarwal <sid0@fb.com>
parents: 27026
diff changeset
   297
a01ecbcfaf84 mergestate: handle additional record types specially
Siddharth Agarwal <sid0@fb.com>
parents: 27026
diff changeset
   298
  $ hg --config extensions.fakemergerecord=$TESTDIR/fakemergerecord.py fakemergerecord -x
a01ecbcfaf84 mergestate: handle additional record types specially
Siddharth Agarwal <sid0@fb.com>
parents: 27026
diff changeset
   299
  $ hg debugmergestate
a01ecbcfaf84 mergestate: handle additional record types specially
Siddharth Agarwal <sid0@fb.com>
parents: 27026
diff changeset
   300
  * version 2 records
a01ecbcfaf84 mergestate: handle additional record types specially
Siddharth Agarwal <sid0@fb.com>
parents: 27026
diff changeset
   301
  local: 57653b9f834a4493f7240b0681efcb9ae7cab745
a01ecbcfaf84 mergestate: handle additional record types specially
Siddharth Agarwal <sid0@fb.com>
parents: 27026
diff changeset
   302
  other: dc77451844e37f03f5c559e3b8529b2b48d381d1
30062
940c05b25b07 merge: add conflict labels to merge command
Simon Farnsworth <simonfar@fb.com>
parents: 28641
diff changeset
   303
  labels:
940c05b25b07 merge: add conflict labels to merge command
Simon Farnsworth <simonfar@fb.com>
parents: 28641
diff changeset
   304
    local: working copy
940c05b25b07 merge: add conflict labels to merge command
Simon Farnsworth <simonfar@fb.com>
parents: 28641
diff changeset
   305
    other: merge rev
27027
a01ecbcfaf84 mergestate: handle additional record types specially
Siddharth Agarwal <sid0@fb.com>
parents: 27026
diff changeset
   306
  unrecognized entry: x	advisory record
28011
8abd9f785030 merge: add file ancestor linknode to mergestate
Durham Goode <durham@fb.com>
parents: 27316
diff changeset
   307
  file extras: file1 (ancestorlinknode = 99726c03216e233810a2564cbc0adfe395007eac)
27027
a01ecbcfaf84 mergestate: handle additional record types specially
Siddharth Agarwal <sid0@fb.com>
parents: 27026
diff changeset
   308
  file: file1 (record type "F", state "r", hash 60b27f004e454aca81b0480209cce5081ec52390)
a01ecbcfaf84 mergestate: handle additional record types specially
Siddharth Agarwal <sid0@fb.com>
parents: 27026
diff changeset
   309
    local path: file1 (flags "")
a01ecbcfaf84 mergestate: handle additional record types specially
Siddharth Agarwal <sid0@fb.com>
parents: 27026
diff changeset
   310
    ancestor path: file1 (node 2ed2a3912a0b24502043eae84ee4b279c18b90dd)
a01ecbcfaf84 mergestate: handle additional record types specially
Siddharth Agarwal <sid0@fb.com>
parents: 27026
diff changeset
   311
    other path: file1 (node 6f4310b00b9a147241b071a60c28a650827fb03d)
28011
8abd9f785030 merge: add file ancestor linknode to mergestate
Durham Goode <durham@fb.com>
parents: 27316
diff changeset
   312
  file extras: file2 (ancestorlinknode = 99726c03216e233810a2564cbc0adfe395007eac)
27027
a01ecbcfaf84 mergestate: handle additional record types specially
Siddharth Agarwal <sid0@fb.com>
parents: 27026
diff changeset
   313
  file: file2 (record type "F", state "u", hash cb99b709a1978bd205ab9dfd4c5aaa1fc91c7523)
a01ecbcfaf84 mergestate: handle additional record types specially
Siddharth Agarwal <sid0@fb.com>
parents: 27026
diff changeset
   314
    local path: file2 (flags "")
a01ecbcfaf84 mergestate: handle additional record types specially
Siddharth Agarwal <sid0@fb.com>
parents: 27026
diff changeset
   315
    ancestor path: file2 (node 2ed2a3912a0b24502043eae84ee4b279c18b90dd)
a01ecbcfaf84 mergestate: handle additional record types specially
Siddharth Agarwal <sid0@fb.com>
parents: 27026
diff changeset
   316
    other path: file2 (node 6f4310b00b9a147241b071a60c28a650827fb03d)
a01ecbcfaf84 mergestate: handle additional record types specially
Siddharth Agarwal <sid0@fb.com>
parents: 27026
diff changeset
   317
  $ hg resolve -l
a01ecbcfaf84 mergestate: handle additional record types specially
Siddharth Agarwal <sid0@fb.com>
parents: 27026
diff changeset
   318
  R file1
a01ecbcfaf84 mergestate: handle additional record types specially
Siddharth Agarwal <sid0@fb.com>
parents: 27026
diff changeset
   319
  U file2
a01ecbcfaf84 mergestate: handle additional record types specially
Siddharth Agarwal <sid0@fb.com>
parents: 27026
diff changeset
   320
a01ecbcfaf84 mergestate: handle additional record types specially
Siddharth Agarwal <sid0@fb.com>
parents: 27026
diff changeset
   321
insert unsupported mandatory merge record
a01ecbcfaf84 mergestate: handle additional record types specially
Siddharth Agarwal <sid0@fb.com>
parents: 27026
diff changeset
   322
a01ecbcfaf84 mergestate: handle additional record types specially
Siddharth Agarwal <sid0@fb.com>
parents: 27026
diff changeset
   323
  $ hg --config extensions.fakemergerecord=$TESTDIR/fakemergerecord.py fakemergerecord -X
a01ecbcfaf84 mergestate: handle additional record types specially
Siddharth Agarwal <sid0@fb.com>
parents: 27026
diff changeset
   324
  $ hg debugmergestate
a01ecbcfaf84 mergestate: handle additional record types specially
Siddharth Agarwal <sid0@fb.com>
parents: 27026
diff changeset
   325
  * version 2 records
a01ecbcfaf84 mergestate: handle additional record types specially
Siddharth Agarwal <sid0@fb.com>
parents: 27026
diff changeset
   326
  local: 57653b9f834a4493f7240b0681efcb9ae7cab745
a01ecbcfaf84 mergestate: handle additional record types specially
Siddharth Agarwal <sid0@fb.com>
parents: 27026
diff changeset
   327
  other: dc77451844e37f03f5c559e3b8529b2b48d381d1
30062
940c05b25b07 merge: add conflict labels to merge command
Simon Farnsworth <simonfar@fb.com>
parents: 28641
diff changeset
   328
  labels:
940c05b25b07 merge: add conflict labels to merge command
Simon Farnsworth <simonfar@fb.com>
parents: 28641
diff changeset
   329
    local: working copy
940c05b25b07 merge: add conflict labels to merge command
Simon Farnsworth <simonfar@fb.com>
parents: 28641
diff changeset
   330
    other: merge rev
28011
8abd9f785030 merge: add file ancestor linknode to mergestate
Durham Goode <durham@fb.com>
parents: 27316
diff changeset
   331
  file extras: file1 (ancestorlinknode = 99726c03216e233810a2564cbc0adfe395007eac)
27027
a01ecbcfaf84 mergestate: handle additional record types specially
Siddharth Agarwal <sid0@fb.com>
parents: 27026
diff changeset
   332
  file: file1 (record type "F", state "r", hash 60b27f004e454aca81b0480209cce5081ec52390)
a01ecbcfaf84 mergestate: handle additional record types specially
Siddharth Agarwal <sid0@fb.com>
parents: 27026
diff changeset
   333
    local path: file1 (flags "")
a01ecbcfaf84 mergestate: handle additional record types specially
Siddharth Agarwal <sid0@fb.com>
parents: 27026
diff changeset
   334
    ancestor path: file1 (node 2ed2a3912a0b24502043eae84ee4b279c18b90dd)
a01ecbcfaf84 mergestate: handle additional record types specially
Siddharth Agarwal <sid0@fb.com>
parents: 27026
diff changeset
   335
    other path: file1 (node 6f4310b00b9a147241b071a60c28a650827fb03d)
28011
8abd9f785030 merge: add file ancestor linknode to mergestate
Durham Goode <durham@fb.com>
parents: 27316
diff changeset
   336
  file extras: file2 (ancestorlinknode = 99726c03216e233810a2564cbc0adfe395007eac)
27027
a01ecbcfaf84 mergestate: handle additional record types specially
Siddharth Agarwal <sid0@fb.com>
parents: 27026
diff changeset
   337
  file: file2 (record type "F", state "u", hash cb99b709a1978bd205ab9dfd4c5aaa1fc91c7523)
a01ecbcfaf84 mergestate: handle additional record types specially
Siddharth Agarwal <sid0@fb.com>
parents: 27026
diff changeset
   338
    local path: file2 (flags "")
a01ecbcfaf84 mergestate: handle additional record types specially
Siddharth Agarwal <sid0@fb.com>
parents: 27026
diff changeset
   339
    ancestor path: file2 (node 2ed2a3912a0b24502043eae84ee4b279c18b90dd)
a01ecbcfaf84 mergestate: handle additional record types specially
Siddharth Agarwal <sid0@fb.com>
parents: 27026
diff changeset
   340
    other path: file2 (node 6f4310b00b9a147241b071a60c28a650827fb03d)
a01ecbcfaf84 mergestate: handle additional record types specially
Siddharth Agarwal <sid0@fb.com>
parents: 27026
diff changeset
   341
  unrecognized entry: X	mandatory record
a01ecbcfaf84 mergestate: handle additional record types specially
Siddharth Agarwal <sid0@fb.com>
parents: 27026
diff changeset
   342
  $ hg resolve -l
a01ecbcfaf84 mergestate: handle additional record types specially
Siddharth Agarwal <sid0@fb.com>
parents: 27026
diff changeset
   343
  abort: unsupported merge state records: X
a01ecbcfaf84 mergestate: handle additional record types specially
Siddharth Agarwal <sid0@fb.com>
parents: 27026
diff changeset
   344
  (see https://mercurial-scm.org/wiki/MergeStateRecords for more information)
a01ecbcfaf84 mergestate: handle additional record types specially
Siddharth Agarwal <sid0@fb.com>
parents: 27026
diff changeset
   345
  [255]
a01ecbcfaf84 mergestate: handle additional record types specially
Siddharth Agarwal <sid0@fb.com>
parents: 27026
diff changeset
   346
  $ hg resolve -ma
a01ecbcfaf84 mergestate: handle additional record types specially
Siddharth Agarwal <sid0@fb.com>
parents: 27026
diff changeset
   347
  abort: unsupported merge state records: X
a01ecbcfaf84 mergestate: handle additional record types specially
Siddharth Agarwal <sid0@fb.com>
parents: 27026
diff changeset
   348
  (see https://mercurial-scm.org/wiki/MergeStateRecords for more information)
a01ecbcfaf84 mergestate: handle additional record types specially
Siddharth Agarwal <sid0@fb.com>
parents: 27026
diff changeset
   349
  [255]
a01ecbcfaf84 mergestate: handle additional record types specially
Siddharth Agarwal <sid0@fb.com>
parents: 27026
diff changeset
   350
  $ hg summary
28641
4acd5651ffa2 summary: move mergemod before parents to give access to ms
timeless <timeless@mozdev.org>
parents: 28402
diff changeset
   351
  warning: merge state has unsupported record types: X
27027
a01ecbcfaf84 mergestate: handle additional record types specially
Siddharth Agarwal <sid0@fb.com>
parents: 27026
diff changeset
   352
  parent: 2:57653b9f834a 
a01ecbcfaf84 mergestate: handle additional record types specially
Siddharth Agarwal <sid0@fb.com>
parents: 27026
diff changeset
   353
   append baz to files
a01ecbcfaf84 mergestate: handle additional record types specially
Siddharth Agarwal <sid0@fb.com>
parents: 27026
diff changeset
   354
  parent: 1:dc77451844e3 
a01ecbcfaf84 mergestate: handle additional record types specially
Siddharth Agarwal <sid0@fb.com>
parents: 27026
diff changeset
   355
   append bar to files
a01ecbcfaf84 mergestate: handle additional record types specially
Siddharth Agarwal <sid0@fb.com>
parents: 27026
diff changeset
   356
  branch: default
a01ecbcfaf84 mergestate: handle additional record types specially
Siddharth Agarwal <sid0@fb.com>
parents: 27026
diff changeset
   357
  commit: 2 modified, 2 unknown (merge)
a01ecbcfaf84 mergestate: handle additional record types specially
Siddharth Agarwal <sid0@fb.com>
parents: 27026
diff changeset
   358
  update: 2 new changesets (update)
a01ecbcfaf84 mergestate: handle additional record types specially
Siddharth Agarwal <sid0@fb.com>
parents: 27026
diff changeset
   359
  phases: 5 draft
a01ecbcfaf84 mergestate: handle additional record types specially
Siddharth Agarwal <sid0@fb.com>
parents: 27026
diff changeset
   360
a01ecbcfaf84 mergestate: handle additional record types specially
Siddharth Agarwal <sid0@fb.com>
parents: 27026
diff changeset
   361
update --clean shouldn't abort on unsupported records
a01ecbcfaf84 mergestate: handle additional record types specially
Siddharth Agarwal <sid0@fb.com>
parents: 27026
diff changeset
   362
a01ecbcfaf84 mergestate: handle additional record types specially
Siddharth Agarwal <sid0@fb.com>
parents: 27026
diff changeset
   363
  $ hg up -qC 1
a01ecbcfaf84 mergestate: handle additional record types specially
Siddharth Agarwal <sid0@fb.com>
parents: 27026
diff changeset
   364
  $ hg debugmergestate
a01ecbcfaf84 mergestate: handle additional record types specially
Siddharth Agarwal <sid0@fb.com>
parents: 27026
diff changeset
   365
  no merge state found
a01ecbcfaf84 mergestate: handle additional record types specially
Siddharth Agarwal <sid0@fb.com>
parents: 27026
diff changeset
   366
12117
a40372c1c731 tests: unify test-resolve
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 11451
diff changeset
   367
test crashed merge with empty mergestate
7734
9f73bddb9d0b reset mergestate after commit
Martin Geisler <mg@daimi.au.dk>
parents:
diff changeset
   368
12117
a40372c1c731 tests: unify test-resolve
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 11451
diff changeset
   369
  $ mkdir .hg/merge
a40372c1c731 tests: unify test-resolve
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 11451
diff changeset
   370
  $ touch .hg/merge/state
11451
51021f4c80b5 resolve: do not crash on empty mergestate
Martin Geisler <mg@lazybytes.net>
parents: 8167
diff changeset
   371
23020
dfad19274d85 test-resolve: clarify test descriptions and consistently use "should"
Martin von Zweigbergk <martinvonz@gmail.com>
parents: 21947
diff changeset
   372
resolve -l should be empty
12117
a40372c1c731 tests: unify test-resolve
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 11451
diff changeset
   373
a40372c1c731 tests: unify test-resolve
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 11451
diff changeset
   374
  $ hg resolve -l
16913
f2719b387380 tests: add missing trailing 'cd ..'
Mads Kiilerich <mads@kiilerich.com>
parents: 12788
diff changeset
   375
f2719b387380 tests: add missing trailing 'cd ..'
Mads Kiilerich <mads@kiilerich.com>
parents: 12788
diff changeset
   376
  $ cd ..