##// END OF EJS Templates
debugmergestate: make templated...
Martin von Zweigbergk -
r44880:acbfa31c default
parent child Browse files
Show More
@@ -28,7 +28,6 b' from .i18n import _'
28 28 from .node import (
29 29 bin,
30 30 hex,
31 nullhex,
32 31 nullid,
33 32 nullrev,
34 33 short,
@@ -1944,120 +1943,100 b' def debugmanifestfulltextcache(ui, repo,'
1944 1943 )
1945 1944
1946 1945
1947 @command(b'debugmergestate', [], b'')
1948 def debugmergestate(ui, repo, *args):
1946 @command(b'debugmergestate', [] + cmdutil.templateopts, b'')
1947 def debugmergestate(ui, repo, *args, **opts):
1949 1948 """print merge state
1950 1949
1951 1950 Use --verbose to print out information about whether v1 or v2 merge state
1952 1951 was chosen."""
1953 1952
1954 def _hashornull(h):
1955 if h == nullhex:
1956 return b'null'
1957 else:
1958 return h
1959
1960 def printrecords(version):
1961 ui.writenoi18n(b'* version %d records\n' % version)
1962 if version == 1:
1963 records = v1records
1953 if ui.verbose:
1954 ms = mergemod.mergestate(repo)
1955
1956 # sort so that reasonable information is on top
1957 v1records = ms._readrecordsv1()
1958 v2records = ms._readrecordsv2()
1959
1960 if not v1records and not v2records:
1961 pass
1962 elif not v2records:
1963 ui.writenoi18n(b'no version 2 merge state\n')
1964 elif ms._v1v2match(v1records, v2records):
1965 ui.writenoi18n(b'v1 and v2 states match: using v2\n')
1964 1966 else:
1965 records = v2records
1966
1967 for rtype, record in records:
1968 # pretty print some record types
1969 if rtype == b'L':
1970 ui.writenoi18n(b'local: %s\n' % record)
1971 elif rtype == b'O':
1972 ui.writenoi18n(b'other: %s\n' % record)
1973 elif rtype == b'm':
1974 driver, mdstate = record.split(b'\0', 1)
1975 ui.writenoi18n(
1976 b'merge driver: %s (state "%s")\n' % (driver, mdstate)
1977 )
1978 elif rtype in b'FDC':
1979 r = record.split(b'\0')
1980 f, state, hash, lfile, afile, anode, ofile = r[0:7]
1981 if version == 1:
1982 onode = b'not stored in v1 format'
1983 flags = r[7]
1984 else:
1985 onode, flags = r[7:9]
1986 ui.writenoi18n(
1987 b'file: %s (record type "%s", state "%s", hash %s)\n'
1988 % (f, rtype, state, _hashornull(hash))
1989 )
1990 ui.writenoi18n(
1991 b' local path: %s (flags "%s")\n' % (lfile, flags)
1992 )
1993 ui.writenoi18n(
1994 b' ancestor path: %s (node %s)\n'
1995 % (afile, _hashornull(anode))
1996 )
1997 ui.writenoi18n(
1998 b' other path: %s (node %s)\n'
1999 % (ofile, _hashornull(onode))
2000 )
2001 elif rtype == b'f':
2002 filename, rawextras = record.split(b'\0', 1)
2003 extras = rawextras.split(b'\0')
2004 i = 0
2005 extrastrings = []
2006 while i < len(extras):
2007 extrastrings.append(b'%s = %s' % (extras[i], extras[i + 1]))
2008 i += 2
2009
2010 ui.writenoi18n(
2011 b'file extras: %s (%s)\n'
2012 % (filename, b', '.join(extrastrings))
2013 )
2014 elif rtype == b'l':
2015 labels = record.split(b'\0', 2)
2016 labels = [l for l in labels if len(l) > 0]
2017 ui.writenoi18n(b'labels:\n')
2018 ui.write((b' local: %s\n' % labels[0]))
2019 ui.write((b' other: %s\n' % labels[1]))
2020 if len(labels) > 2:
2021 ui.write((b' base: %s\n' % labels[2]))
2022 else:
2023 ui.writenoi18n(
2024 b'unrecognized entry: %s\t%s\n'
2025 % (rtype, record.replace(b'\0', b'\t'))
2026 )
2027
2028 # Avoid mergestate.read() since it may raise an exception for unsupported
2029 # merge state records. We shouldn't be doing this, but this is OK since this
2030 # command is pretty low-level.
2031 ms = mergemod.mergestate(repo)
2032
2033 # sort so that reasonable information is on top
2034 v1records = ms._readrecordsv1()
2035 v2records = ms._readrecordsv2()
2036 order = b'LOml'
2037
2038 def key(r):
2039 idx = order.find(r[0])
2040 if idx == -1:
2041 return (1, r[1])
2042 else:
2043 return (0, idx)
2044
2045 v1records.sort(key=key)
2046 v2records.sort(key=key)
2047
2048 if not v1records and not v2records:
2049 ui.writenoi18n(b'no merge state found\n')
2050 elif not v2records:
2051 ui.notenoi18n(b'no version 2 merge state\n')
2052 printrecords(1)
2053 elif ms._v1v2match(v1records, v2records):
2054 ui.notenoi18n(b'v1 and v2 states match: using v2\n')
2055 printrecords(2)
2056 else:
2057 ui.notenoi18n(b'v1 and v2 states mismatch: using v1\n')
2058 printrecords(1)
2059 if ui.verbose:
2060 printrecords(2)
1967 ui.writenoi18n(b'v1 and v2 states mismatch: using v1\n')
1968
1969 opts = pycompat.byteskwargs(opts)
1970 if not opts[b'template']:
1971 opts[b'template'] = (
1972 b'{if(commits, "", "no merge state found\n")}'
1973 b'{commits % "{name}{if(label, " ({label})")}: {node}\n"}'
1974 b'{files % "file: {path} (state \\"{state}\\")\n'
1975 b'{if(local_path, "'
1976 b' local path: {local_path} (hash {local_key}, flags \\"{local_flags}\\")\n'
1977 b' ancestor path: {ancestor_path} (node {ancestor_node})\n'
1978 b' other path: {other_path} (node {other_node})\n'
1979 b'")}'
1980 b'{if(rename_side, "'
1981 b' rename side: {rename_side}\n'
1982 b' renamed path: {renamed_path}\n'
1983 b'")}'
1984 b'{extras % " extra: {key} = {value}\n"}'
1985 b'"}'
1986 )
1987
1988 ms = mergemod.mergestate.read(repo)
1989
1990 fm = ui.formatter(b'debugmergestate', opts)
1991 fm.startitem()
1992
1993 fm_commits = fm.nested(b'commits')
1994 if ms.active():
1995 for name, node, label_index in (
1996 (b'local', ms.local, 0),
1997 (b'other', ms.other, 1),
1998 ):
1999 fm_commits.startitem()
2000 fm_commits.data(name=name)
2001 fm_commits.data(node=hex(node))
2002 if ms._labels and len(ms._labels) > label_index:
2003 fm_commits.data(label=ms._labels[label_index])
2004 fm_commits.end()
2005
2006 fm_files = fm.nested(b'files')
2007 if ms.active():
2008 for f in ms:
2009 fm_files.startitem()
2010 fm_files.data(path=f)
2011 state = ms._state[f]
2012 fm_files.data(state=state[0])
2013 if state[0] in (
2014 mergemod.MERGE_RECORD_UNRESOLVED,
2015 mergemod.MERGE_RECORD_RESOLVED,
2016 ):
2017 fm_files.data(local_key=state[1])
2018 fm_files.data(local_path=state[2])
2019 fm_files.data(ancestor_path=state[3])
2020 fm_files.data(ancestor_node=state[4])
2021 fm_files.data(other_path=state[5])
2022 fm_files.data(other_node=state[6])
2023 fm_files.data(local_flags=state[7])
2024 elif state[0] in (
2025 mergemod.MERGE_RECORD_UNRESOLVED_PATH,
2026 mergemod.MERGE_RECORD_RESOLVED_PATH,
2027 ):
2028 fm_files.data(renamed_path=state[1])
2029 fm_files.data(rename_side=state[2])
2030 fm_extras = fm_files.nested(b'extras')
2031 for k, v in ms.extras(f).items():
2032 fm_extras.startitem()
2033 fm_extras.data(key=k)
2034 fm_extras.data(value=v)
2035 fm_extras.end()
2036
2037 fm_files.end()
2038
2039 fm.end()
2061 2040
2062 2041
2063 2042 @command(b'debugnamecomplete', [], _(b'NAME...'))
@@ -23,6 +23,10 b''
23 23 Will use `zstd` compression for new repositories is available, and will
24 24 simply fall back to `zlib` if not.
25 25
26 * `hg debugmergestate` output is now templated, which may be useful
27 e.g. for IDEs that want to help the user resolve merge conflicts.
28
29
26 30 == New Experimental Features ==
27 31
28 32 * `hg copy` now supports a `--at-rev` argument to mark files as
@@ -49,6 +53,10 b''
49 53 * `hg recover` does not verify the validity of the whole repository
50 54 anymore. You can pass `--verify` or call `hg verify` if necessary.
51 55
56 * `hg debugmergestate` output format changed. Let us know if that is
57 causing you problems and we'll roll it back.
58
59
52 60 == Internal API Changes ==
53 61
54 62 * The deprecated `ui.progress()` has now been deleted. Please use
@@ -709,23 +709,24 b' Test usage of `hg resolve` in case of co'
709 709 use 'hg resolve' to retry unresolved file merges
710 710 [1]
711 711 $ hg status
712 $ hg debugmergestate
713 * version 2 records
712 $ hg debugmergestate -v
713 v1 and v2 states match: using v2
714 714 local: b71750c4b0fdf719734971e3ef90dbeab5919a2d
715 715 other: a30dd8addae3ce71b8667868478542bc417439e6
716 file extras: foo (ancestorlinknode = 91360952243723bd5b1138d5f26bd8c8564cb553)
717 file: foo (record type "F", state "u", hash 0beec7b5ea3f0fdbc95d0dd47f3c5bc275da8a33)
718 local path: foo (flags "")
716 file: foo (state "u")
717 local path: foo (hash 0beec7b5ea3f0fdbc95d0dd47f3c5bc275da8a33, flags "")
719 718 ancestor path: foo (node f89532f44c247a0e993d63e3a734dd781ab04708)
720 719 other path: foo (node f50039b486d6fa1a90ae51778388cad161f425ee)
720 extra: ancestorlinknode = 91360952243723bd5b1138d5f26bd8c8564cb553
721 721 $ mv .hg/merge/state2 .hg/merge/state2-moved
722 $ hg debugmergestate
723 * version 1 records
722 $ hg debugmergestate -v
723 no version 2 merge state
724 724 local: b71750c4b0fdf719734971e3ef90dbeab5919a2d
725 file: foo (record type "F", state "u", hash 0beec7b5ea3f0fdbc95d0dd47f3c5bc275da8a33)
726 local path: foo (flags "")
725 other: b71750c4b0fdf719734971e3ef90dbeab5919a2d
726 file: foo (state "u")
727 local path: foo (hash 0beec7b5ea3f0fdbc95d0dd47f3c5bc275da8a33, flags "")
727 728 ancestor path: foo (node f89532f44c247a0e993d63e3a734dd781ab04708)
728 other path: foo (node not stored in v1 format)
729 other path: (node foo)
729 730 $ mv .hg/merge/state2-moved .hg/merge/state2
730 731 $ hg resolve -l # still unresolved
731 732 U foo
@@ -289,7 +289,7 b' Show all commands + options'
289 289 debuglabelcomplete:
290 290 debuglocks: force-lock, force-wlock, set-lock, set-wlock
291 291 debugmanifestfulltextcache: clear, add
292 debugmergestate:
292 debugmergestate: style, template
293 293 debugnamecomplete:
294 294 debugnodemap: dump-new, dump-disk, check, metadata
295 295 debugobsolete: flags, record-parents, rev, exclusive, index, delete, date, user, template
@@ -77,36 +77,22 b' edit the history'
77 77 insert unsupported advisory merge record
78 78 $ hg --config extensions.fakemergerecord=$TESTDIR/fakemergerecord.py fakemergerecord -x
79 79 $ hg debugmergestate
80 * version 2 records
81 local: 8f7551c7e4a2f2efe0bc8c741baf7f227d65d758
82 other: e860deea161a2f77de56603b340ebbb4536308ae
83 labels:
84 local: local
85 other: histedit
86 unrecognized entry: x advisory record
87 file extras: e (ancestorlinknode = 0000000000000000000000000000000000000000)
88 file: e (record type "F", state "u", hash 58e6b3a414a1e090dfc6029add0f3555ccba127f)
89 local path: e (flags "")
90 ancestor path: e (node null)
80 local (local): 8f7551c7e4a2f2efe0bc8c741baf7f227d65d758
81 other (histedit): e860deea161a2f77de56603b340ebbb4536308ae
82 file: e (state "u")
83 local path: e (hash 58e6b3a414a1e090dfc6029add0f3555ccba127f, flags "")
84 ancestor path: e (node 0000000000000000000000000000000000000000)
91 85 other path: e (node 6b67ccefd5ce6de77e7ead4f5292843a0255329f)
86 extra: ancestorlinknode = 0000000000000000000000000000000000000000
92 87 $ hg resolve -l
93 88 U e
94 89
95 90 insert unsupported mandatory merge record
96 91 $ hg --config extensions.fakemergerecord=$TESTDIR/fakemergerecord.py fakemergerecord -X
97 92 $ hg debugmergestate
98 * version 2 records
99 local: 8f7551c7e4a2f2efe0bc8c741baf7f227d65d758
100 other: e860deea161a2f77de56603b340ebbb4536308ae
101 labels:
102 local: local
103 other: histedit
104 file extras: e (ancestorlinknode = 0000000000000000000000000000000000000000)
105 file: e (record type "F", state "u", hash 58e6b3a414a1e090dfc6029add0f3555ccba127f)
106 local path: e (flags "")
107 ancestor path: e (node null)
108 other path: e (node 6b67ccefd5ce6de77e7ead4f5292843a0255329f)
109 unrecognized entry: X mandatory record
93 abort: unsupported merge state records: X
94 (see https://mercurial-scm.org/wiki/MergeStateRecords for more information)
95 [255]
110 96 $ hg resolve -l
111 97 abort: unsupported merge state records: X
112 98 (see https://mercurial-scm.org/wiki/MergeStateRecords for more information)
@@ -76,27 +76,23 b' Non-interactive merge:'
76 76 U file2
77 77 U file3
78 78 --- debugmergestate ---
79 * version 2 records
80 local: 13910f48cf7bdb2a0ba6e24b4900e4fdd5739dd4
81 other: 10f9a0a634e82080907e62f075ab119cbc565ea6
82 labels:
83 local: working copy
84 other: merge rev
85 file extras: file1 (ancestorlinknode = ab57bf49aa276a22d35a473592d4c34b5abc3eff)
86 file: file1 (record type "C", state "u", hash 60b27f004e454aca81b0480209cce5081ec52390)
87 local path: file1 (flags "")
79 local (working copy): 13910f48cf7bdb2a0ba6e24b4900e4fdd5739dd4
80 other (merge rev): 10f9a0a634e82080907e62f075ab119cbc565ea6
81 file: file1 (state "u")
82 local path: file1 (hash 60b27f004e454aca81b0480209cce5081ec52390, flags "")
88 83 ancestor path: file1 (node b8e02f6433738021a065f94175c7cd23db5f05be)
89 other path: file1 (node null)
90 file extras: file2 (ancestorlinknode = ab57bf49aa276a22d35a473592d4c34b5abc3eff)
91 file: file2 (record type "C", state "u", hash null)
92 local path: file2 (flags "")
84 other path: file1 (node 0000000000000000000000000000000000000000)
85 extra: ancestorlinknode = ab57bf49aa276a22d35a473592d4c34b5abc3eff
86 file: file2 (state "u")
87 local path: file2 (hash 0000000000000000000000000000000000000000, flags "")
93 88 ancestor path: file2 (node 5d9299349fc01ddd25d0070d149b124d8f10411e)
94 89 other path: file2 (node e7c1328648519852e723de86c0c0525acd779257)
95 file extras: file3 (ancestorlinknode = ab57bf49aa276a22d35a473592d4c34b5abc3eff)
96 file: file3 (record type "F", state "u", hash d5b0a58bc47161b1b8a831084b366f757c4f0b11)
97 local path: file3 (flags "")
90 extra: ancestorlinknode = ab57bf49aa276a22d35a473592d4c34b5abc3eff
91 file: file3 (state "u")
92 local path: file3 (hash d5b0a58bc47161b1b8a831084b366f757c4f0b11, flags "")
98 93 ancestor path: file3 (node 2661d26c649684b482d10f91960cc3db683c38b4)
99 94 other path: file3 (node a2644c43e210356772c7772a8674544a62e06beb)
95 extra: ancestorlinknode = ab57bf49aa276a22d35a473592d4c34b5abc3eff
100 96 --- file1 ---
101 97 1
102 98 changed
@@ -145,27 +141,23 b' Interactive merge:'
145 141 R file2
146 142 U file3
147 143 --- debugmergestate ---
148 * version 2 records
149 local: 13910f48cf7bdb2a0ba6e24b4900e4fdd5739dd4
150 other: 10f9a0a634e82080907e62f075ab119cbc565ea6
151 labels:
152 local: working copy
153 other: merge rev
154 file extras: file1 (ancestorlinknode = ab57bf49aa276a22d35a473592d4c34b5abc3eff)
155 file: file1 (record type "C", state "r", hash 60b27f004e454aca81b0480209cce5081ec52390)
156 local path: file1 (flags "")
144 local (working copy): 13910f48cf7bdb2a0ba6e24b4900e4fdd5739dd4
145 other (merge rev): 10f9a0a634e82080907e62f075ab119cbc565ea6
146 file: file1 (state "r")
147 local path: file1 (hash 60b27f004e454aca81b0480209cce5081ec52390, flags "")
157 148 ancestor path: file1 (node b8e02f6433738021a065f94175c7cd23db5f05be)
158 other path: file1 (node null)
159 file extras: file2 (ancestorlinknode = ab57bf49aa276a22d35a473592d4c34b5abc3eff)
160 file: file2 (record type "C", state "r", hash null)
161 local path: file2 (flags "")
149 other path: file1 (node 0000000000000000000000000000000000000000)
150 extra: ancestorlinknode = ab57bf49aa276a22d35a473592d4c34b5abc3eff
151 file: file2 (state "r")
152 local path: file2 (hash 0000000000000000000000000000000000000000, flags "")
162 153 ancestor path: file2 (node 5d9299349fc01ddd25d0070d149b124d8f10411e)
163 154 other path: file2 (node e7c1328648519852e723de86c0c0525acd779257)
164 file extras: file3 (ancestorlinknode = ab57bf49aa276a22d35a473592d4c34b5abc3eff)
165 file: file3 (record type "F", state "u", hash d5b0a58bc47161b1b8a831084b366f757c4f0b11)
166 local path: file3 (flags "")
155 extra: ancestorlinknode = ab57bf49aa276a22d35a473592d4c34b5abc3eff
156 file: file3 (state "u")
157 local path: file3 (hash d5b0a58bc47161b1b8a831084b366f757c4f0b11, flags "")
167 158 ancestor path: file3 (node 2661d26c649684b482d10f91960cc3db683c38b4)
168 159 other path: file3 (node a2644c43e210356772c7772a8674544a62e06beb)
160 extra: ancestorlinknode = ab57bf49aa276a22d35a473592d4c34b5abc3eff
169 161 --- file1 ---
170 162 1
171 163 changed
@@ -227,27 +219,23 b' Interactive merge with bad input:'
227 219 R file2
228 220 U file3
229 221 --- debugmergestate ---
230 * version 2 records
231 local: 13910f48cf7bdb2a0ba6e24b4900e4fdd5739dd4
232 other: 10f9a0a634e82080907e62f075ab119cbc565ea6
233 labels:
234 local: working copy
235 other: merge rev
236 file extras: file1 (ancestorlinknode = ab57bf49aa276a22d35a473592d4c34b5abc3eff)
237 file: file1 (record type "C", state "r", hash 60b27f004e454aca81b0480209cce5081ec52390)
238 local path: file1 (flags "")
222 local (working copy): 13910f48cf7bdb2a0ba6e24b4900e4fdd5739dd4
223 other (merge rev): 10f9a0a634e82080907e62f075ab119cbc565ea6
224 file: file1 (state "r")
225 local path: file1 (hash 60b27f004e454aca81b0480209cce5081ec52390, flags "")
239 226 ancestor path: file1 (node b8e02f6433738021a065f94175c7cd23db5f05be)
240 other path: file1 (node null)
241 file extras: file2 (ancestorlinknode = ab57bf49aa276a22d35a473592d4c34b5abc3eff)
242 file: file2 (record type "C", state "r", hash null)
243 local path: file2 (flags "")
227 other path: file1 (node 0000000000000000000000000000000000000000)
228 extra: ancestorlinknode = ab57bf49aa276a22d35a473592d4c34b5abc3eff
229 file: file2 (state "r")
230 local path: file2 (hash 0000000000000000000000000000000000000000, flags "")
244 231 ancestor path: file2 (node 5d9299349fc01ddd25d0070d149b124d8f10411e)
245 232 other path: file2 (node e7c1328648519852e723de86c0c0525acd779257)
246 file extras: file3 (ancestorlinknode = ab57bf49aa276a22d35a473592d4c34b5abc3eff)
247 file: file3 (record type "F", state "u", hash d5b0a58bc47161b1b8a831084b366f757c4f0b11)
248 local path: file3 (flags "")
233 extra: ancestorlinknode = ab57bf49aa276a22d35a473592d4c34b5abc3eff
234 file: file3 (state "u")
235 local path: file3 (hash d5b0a58bc47161b1b8a831084b366f757c4f0b11, flags "")
249 236 ancestor path: file3 (node 2661d26c649684b482d10f91960cc3db683c38b4)
250 237 other path: file3 (node a2644c43e210356772c7772a8674544a62e06beb)
238 extra: ancestorlinknode = ab57bf49aa276a22d35a473592d4c34b5abc3eff
251 239 *** file1 does not exist
252 240 --- file2 ---
253 241 2
@@ -293,27 +281,23 b' Interactive merge with not enough input:'
293 281 U file2
294 282 U file3
295 283 --- debugmergestate ---
296 * version 2 records
297 local: 13910f48cf7bdb2a0ba6e24b4900e4fdd5739dd4
298 other: 10f9a0a634e82080907e62f075ab119cbc565ea6
299 labels:
300 local: working copy
301 other: merge rev
302 file extras: file1 (ancestorlinknode = ab57bf49aa276a22d35a473592d4c34b5abc3eff)
303 file: file1 (record type "C", state "r", hash 60b27f004e454aca81b0480209cce5081ec52390)
304 local path: file1 (flags "")
284 local (working copy): 13910f48cf7bdb2a0ba6e24b4900e4fdd5739dd4
285 other (merge rev): 10f9a0a634e82080907e62f075ab119cbc565ea6
286 file: file1 (state "r")
287 local path: file1 (hash 60b27f004e454aca81b0480209cce5081ec52390, flags "")
305 288 ancestor path: file1 (node b8e02f6433738021a065f94175c7cd23db5f05be)
306 other path: file1 (node null)
307 file extras: file2 (ancestorlinknode = ab57bf49aa276a22d35a473592d4c34b5abc3eff)
308 file: file2 (record type "C", state "u", hash null)
309 local path: file2 (flags "")
289 other path: file1 (node 0000000000000000000000000000000000000000)
290 extra: ancestorlinknode = ab57bf49aa276a22d35a473592d4c34b5abc3eff
291 file: file2 (state "u")
292 local path: file2 (hash 0000000000000000000000000000000000000000, flags "")
310 293 ancestor path: file2 (node 5d9299349fc01ddd25d0070d149b124d8f10411e)
311 294 other path: file2 (node e7c1328648519852e723de86c0c0525acd779257)
312 file extras: file3 (ancestorlinknode = ab57bf49aa276a22d35a473592d4c34b5abc3eff)
313 file: file3 (record type "F", state "u", hash d5b0a58bc47161b1b8a831084b366f757c4f0b11)
314 local path: file3 (flags "")
295 extra: ancestorlinknode = ab57bf49aa276a22d35a473592d4c34b5abc3eff
296 file: file3 (state "u")
297 local path: file3 (hash d5b0a58bc47161b1b8a831084b366f757c4f0b11, flags "")
315 298 ancestor path: file3 (node 2661d26c649684b482d10f91960cc3db683c38b4)
316 299 other path: file3 (node a2644c43e210356772c7772a8674544a62e06beb)
300 extra: ancestorlinknode = ab57bf49aa276a22d35a473592d4c34b5abc3eff
317 301 *** file1 does not exist
318 302 --- file2 ---
319 303 2
@@ -346,27 +330,23 b' Choose local versions of files'
346 330 R file2
347 331 R file3
348 332 --- debugmergestate ---
349 * version 2 records
350 local: 13910f48cf7bdb2a0ba6e24b4900e4fdd5739dd4
351 other: 10f9a0a634e82080907e62f075ab119cbc565ea6
352 labels:
353 local: working copy
354 other: merge rev
355 file extras: file1 (ancestorlinknode = ab57bf49aa276a22d35a473592d4c34b5abc3eff)
356 file: file1 (record type "C", state "r", hash 60b27f004e454aca81b0480209cce5081ec52390)
357 local path: file1 (flags "")
333 local (working copy): 13910f48cf7bdb2a0ba6e24b4900e4fdd5739dd4
334 other (merge rev): 10f9a0a634e82080907e62f075ab119cbc565ea6
335 file: file1 (state "r")
336 local path: file1 (hash 60b27f004e454aca81b0480209cce5081ec52390, flags "")
358 337 ancestor path: file1 (node b8e02f6433738021a065f94175c7cd23db5f05be)
359 other path: file1 (node null)
360 file extras: file2 (ancestorlinknode = ab57bf49aa276a22d35a473592d4c34b5abc3eff)
361 file: file2 (record type "C", state "r", hash null)
362 local path: file2 (flags "")
338 other path: file1 (node 0000000000000000000000000000000000000000)
339 extra: ancestorlinknode = ab57bf49aa276a22d35a473592d4c34b5abc3eff
340 file: file2 (state "r")
341 local path: file2 (hash 0000000000000000000000000000000000000000, flags "")
363 342 ancestor path: file2 (node 5d9299349fc01ddd25d0070d149b124d8f10411e)
364 343 other path: file2 (node e7c1328648519852e723de86c0c0525acd779257)
365 file extras: file3 (ancestorlinknode = ab57bf49aa276a22d35a473592d4c34b5abc3eff)
366 file: file3 (record type "F", state "r", hash d5b0a58bc47161b1b8a831084b366f757c4f0b11)
367 local path: file3 (flags "")
344 extra: ancestorlinknode = ab57bf49aa276a22d35a473592d4c34b5abc3eff
345 file: file3 (state "r")
346 local path: file3 (hash d5b0a58bc47161b1b8a831084b366f757c4f0b11, flags "")
368 347 ancestor path: file3 (node 2661d26c649684b482d10f91960cc3db683c38b4)
369 348 other path: file3 (node a2644c43e210356772c7772a8674544a62e06beb)
349 extra: ancestorlinknode = ab57bf49aa276a22d35a473592d4c34b5abc3eff
370 350 --- file1 ---
371 351 1
372 352 changed
@@ -395,27 +375,23 b' Choose other versions of files'
395 375 R file2
396 376 R file3
397 377 --- debugmergestate ---
398 * version 2 records
399 local: 13910f48cf7bdb2a0ba6e24b4900e4fdd5739dd4
400 other: 10f9a0a634e82080907e62f075ab119cbc565ea6
401 labels:
402 local: working copy
403 other: merge rev
404 file extras: file1 (ancestorlinknode = ab57bf49aa276a22d35a473592d4c34b5abc3eff)
405 file: file1 (record type "C", state "r", hash 60b27f004e454aca81b0480209cce5081ec52390)
406 local path: file1 (flags "")
378 local (working copy): 13910f48cf7bdb2a0ba6e24b4900e4fdd5739dd4
379 other (merge rev): 10f9a0a634e82080907e62f075ab119cbc565ea6
380 file: file1 (state "r")
381 local path: file1 (hash 60b27f004e454aca81b0480209cce5081ec52390, flags "")
407 382 ancestor path: file1 (node b8e02f6433738021a065f94175c7cd23db5f05be)
408 other path: file1 (node null)
409 file extras: file2 (ancestorlinknode = ab57bf49aa276a22d35a473592d4c34b5abc3eff)
410 file: file2 (record type "C", state "r", hash null)
411 local path: file2 (flags "")
383 other path: file1 (node 0000000000000000000000000000000000000000)
384 extra: ancestorlinknode = ab57bf49aa276a22d35a473592d4c34b5abc3eff
385 file: file2 (state "r")
386 local path: file2 (hash 0000000000000000000000000000000000000000, flags "")
412 387 ancestor path: file2 (node 5d9299349fc01ddd25d0070d149b124d8f10411e)
413 388 other path: file2 (node e7c1328648519852e723de86c0c0525acd779257)
414 file extras: file3 (ancestorlinknode = ab57bf49aa276a22d35a473592d4c34b5abc3eff)
415 file: file3 (record type "F", state "r", hash d5b0a58bc47161b1b8a831084b366f757c4f0b11)
416 local path: file3 (flags "")
389 extra: ancestorlinknode = ab57bf49aa276a22d35a473592d4c34b5abc3eff
390 file: file3 (state "r")
391 local path: file3 (hash d5b0a58bc47161b1b8a831084b366f757c4f0b11, flags "")
417 392 ancestor path: file3 (node 2661d26c649684b482d10f91960cc3db683c38b4)
418 393 other path: file3 (node a2644c43e210356772c7772a8674544a62e06beb)
394 extra: ancestorlinknode = ab57bf49aa276a22d35a473592d4c34b5abc3eff
419 395 *** file1 does not exist
420 396 --- file2 ---
421 397 2
@@ -445,27 +421,23 b' Fail'
445 421 U file2
446 422 U file3
447 423 --- debugmergestate ---
448 * version 2 records
449 local: 13910f48cf7bdb2a0ba6e24b4900e4fdd5739dd4
450 other: 10f9a0a634e82080907e62f075ab119cbc565ea6
451 labels:
452 local: working copy
453 other: merge rev
454 file extras: file1 (ancestorlinknode = ab57bf49aa276a22d35a473592d4c34b5abc3eff)
455 file: file1 (record type "C", state "u", hash 60b27f004e454aca81b0480209cce5081ec52390)
456 local path: file1 (flags "")
424 local (working copy): 13910f48cf7bdb2a0ba6e24b4900e4fdd5739dd4
425 other (merge rev): 10f9a0a634e82080907e62f075ab119cbc565ea6
426 file: file1 (state "u")
427 local path: file1 (hash 60b27f004e454aca81b0480209cce5081ec52390, flags "")
457 428 ancestor path: file1 (node b8e02f6433738021a065f94175c7cd23db5f05be)
458 other path: file1 (node null)
459 file extras: file2 (ancestorlinknode = ab57bf49aa276a22d35a473592d4c34b5abc3eff)
460 file: file2 (record type "C", state "u", hash null)
461 local path: file2 (flags "")
429 other path: file1 (node 0000000000000000000000000000000000000000)
430 extra: ancestorlinknode = ab57bf49aa276a22d35a473592d4c34b5abc3eff
431 file: file2 (state "u")
432 local path: file2 (hash 0000000000000000000000000000000000000000, flags "")
462 433 ancestor path: file2 (node 5d9299349fc01ddd25d0070d149b124d8f10411e)
463 434 other path: file2 (node e7c1328648519852e723de86c0c0525acd779257)
464 file extras: file3 (ancestorlinknode = ab57bf49aa276a22d35a473592d4c34b5abc3eff)
465 file: file3 (record type "F", state "u", hash d5b0a58bc47161b1b8a831084b366f757c4f0b11)
466 local path: file3 (flags "")
435 extra: ancestorlinknode = ab57bf49aa276a22d35a473592d4c34b5abc3eff
436 file: file3 (state "u")
437 local path: file3 (hash d5b0a58bc47161b1b8a831084b366f757c4f0b11, flags "")
467 438 ancestor path: file3 (node 2661d26c649684b482d10f91960cc3db683c38b4)
468 439 other path: file3 (node a2644c43e210356772c7772a8674544a62e06beb)
440 extra: ancestorlinknode = ab57bf49aa276a22d35a473592d4c34b5abc3eff
469 441 --- file1 ---
470 442 1
471 443 changed
@@ -506,27 +478,23 b' Force prompts with no input (should be s'
506 478 U file2
507 479 U file3
508 480 --- debugmergestate ---
509 * version 2 records
510 local: 13910f48cf7bdb2a0ba6e24b4900e4fdd5739dd4
511 other: 10f9a0a634e82080907e62f075ab119cbc565ea6
512 labels:
513 local: working copy
514 other: merge rev
515 file extras: file1 (ancestorlinknode = ab57bf49aa276a22d35a473592d4c34b5abc3eff)
516 file: file1 (record type "C", state "u", hash 60b27f004e454aca81b0480209cce5081ec52390)
517 local path: file1 (flags "")
481 local (working copy): 13910f48cf7bdb2a0ba6e24b4900e4fdd5739dd4
482 other (merge rev): 10f9a0a634e82080907e62f075ab119cbc565ea6
483 file: file1 (state "u")
484 local path: file1 (hash 60b27f004e454aca81b0480209cce5081ec52390, flags "")
518 485 ancestor path: file1 (node b8e02f6433738021a065f94175c7cd23db5f05be)
519 other path: file1 (node null)
520 file extras: file2 (ancestorlinknode = ab57bf49aa276a22d35a473592d4c34b5abc3eff)
521 file: file2 (record type "C", state "u", hash null)
522 local path: file2 (flags "")
486 other path: file1 (node 0000000000000000000000000000000000000000)
487 extra: ancestorlinknode = ab57bf49aa276a22d35a473592d4c34b5abc3eff
488 file: file2 (state "u")
489 local path: file2 (hash 0000000000000000000000000000000000000000, flags "")
523 490 ancestor path: file2 (node 5d9299349fc01ddd25d0070d149b124d8f10411e)
524 491 other path: file2 (node e7c1328648519852e723de86c0c0525acd779257)
525 file extras: file3 (ancestorlinknode = ab57bf49aa276a22d35a473592d4c34b5abc3eff)
526 file: file3 (record type "F", state "u", hash d5b0a58bc47161b1b8a831084b366f757c4f0b11)
527 local path: file3 (flags "")
492 extra: ancestorlinknode = ab57bf49aa276a22d35a473592d4c34b5abc3eff
493 file: file3 (state "u")
494 local path: file3 (hash d5b0a58bc47161b1b8a831084b366f757c4f0b11, flags "")
528 495 ancestor path: file3 (node 2661d26c649684b482d10f91960cc3db683c38b4)
529 496 other path: file3 (node a2644c43e210356772c7772a8674544a62e06beb)
497 extra: ancestorlinknode = ab57bf49aa276a22d35a473592d4c34b5abc3eff
530 498 --- file1 ---
531 499 1
532 500 changed
@@ -569,27 +537,23 b' Force prompts'
569 537 U file2
570 538 U file3
571 539 --- debugmergestate ---
572 * version 2 records
573 local: 13910f48cf7bdb2a0ba6e24b4900e4fdd5739dd4
574 other: 10f9a0a634e82080907e62f075ab119cbc565ea6
575 labels:
576 local: working copy
577 other: merge rev
578 file extras: file1 (ancestorlinknode = ab57bf49aa276a22d35a473592d4c34b5abc3eff)
579 file: file1 (record type "C", state "u", hash 60b27f004e454aca81b0480209cce5081ec52390)
580 local path: file1 (flags "")
540 local (working copy): 13910f48cf7bdb2a0ba6e24b4900e4fdd5739dd4
541 other (merge rev): 10f9a0a634e82080907e62f075ab119cbc565ea6
542 file: file1 (state "u")
543 local path: file1 (hash 60b27f004e454aca81b0480209cce5081ec52390, flags "")
581 544 ancestor path: file1 (node b8e02f6433738021a065f94175c7cd23db5f05be)
582 other path: file1 (node null)
583 file extras: file2 (ancestorlinknode = ab57bf49aa276a22d35a473592d4c34b5abc3eff)
584 file: file2 (record type "C", state "u", hash null)
585 local path: file2 (flags "")
545 other path: file1 (node 0000000000000000000000000000000000000000)
546 extra: ancestorlinknode = ab57bf49aa276a22d35a473592d4c34b5abc3eff
547 file: file2 (state "u")
548 local path: file2 (hash 0000000000000000000000000000000000000000, flags "")
586 549 ancestor path: file2 (node 5d9299349fc01ddd25d0070d149b124d8f10411e)
587 550 other path: file2 (node e7c1328648519852e723de86c0c0525acd779257)
588 file extras: file3 (ancestorlinknode = ab57bf49aa276a22d35a473592d4c34b5abc3eff)
589 file: file3 (record type "F", state "u", hash d5b0a58bc47161b1b8a831084b366f757c4f0b11)
590 local path: file3 (flags "")
551 extra: ancestorlinknode = ab57bf49aa276a22d35a473592d4c34b5abc3eff
552 file: file3 (state "u")
553 local path: file3 (hash d5b0a58bc47161b1b8a831084b366f757c4f0b11, flags "")
591 554 ancestor path: file3 (node 2661d26c649684b482d10f91960cc3db683c38b4)
592 555 other path: file3 (node a2644c43e210356772c7772a8674544a62e06beb)
556 extra: ancestorlinknode = ab57bf49aa276a22d35a473592d4c34b5abc3eff
593 557 --- file1 ---
594 558 1
595 559 changed
@@ -629,27 +593,23 b' Choose to merge all files'
629 593 U file2
630 594 U file3
631 595 --- debugmergestate ---
632 * version 2 records
633 local: 13910f48cf7bdb2a0ba6e24b4900e4fdd5739dd4
634 other: 10f9a0a634e82080907e62f075ab119cbc565ea6
635 labels:
636 local: working copy
637 other: merge rev
638 file extras: file1 (ancestorlinknode = ab57bf49aa276a22d35a473592d4c34b5abc3eff)
639 file: file1 (record type "C", state "u", hash 60b27f004e454aca81b0480209cce5081ec52390)
640 local path: file1 (flags "")
596 local (working copy): 13910f48cf7bdb2a0ba6e24b4900e4fdd5739dd4
597 other (merge rev): 10f9a0a634e82080907e62f075ab119cbc565ea6
598 file: file1 (state "u")
599 local path: file1 (hash 60b27f004e454aca81b0480209cce5081ec52390, flags "")
641 600 ancestor path: file1 (node b8e02f6433738021a065f94175c7cd23db5f05be)
642 other path: file1 (node null)
643 file extras: file2 (ancestorlinknode = ab57bf49aa276a22d35a473592d4c34b5abc3eff)
644 file: file2 (record type "C", state "u", hash null)
645 local path: file2 (flags "")
601 other path: file1 (node 0000000000000000000000000000000000000000)
602 extra: ancestorlinknode = ab57bf49aa276a22d35a473592d4c34b5abc3eff
603 file: file2 (state "u")
604 local path: file2 (hash 0000000000000000000000000000000000000000, flags "")
646 605 ancestor path: file2 (node 5d9299349fc01ddd25d0070d149b124d8f10411e)
647 606 other path: file2 (node e7c1328648519852e723de86c0c0525acd779257)
648 file extras: file3 (ancestorlinknode = ab57bf49aa276a22d35a473592d4c34b5abc3eff)
649 file: file3 (record type "F", state "u", hash d5b0a58bc47161b1b8a831084b366f757c4f0b11)
650 local path: file3 (flags "")
607 extra: ancestorlinknode = ab57bf49aa276a22d35a473592d4c34b5abc3eff
608 file: file3 (state "u")
609 local path: file3 (hash d5b0a58bc47161b1b8a831084b366f757c4f0b11, flags "")
651 610 ancestor path: file3 (node 2661d26c649684b482d10f91960cc3db683c38b4)
652 611 other path: file3 (node a2644c43e210356772c7772a8674544a62e06beb)
612 extra: ancestorlinknode = ab57bf49aa276a22d35a473592d4c34b5abc3eff
653 613 --- file1 ---
654 614 1
655 615 changed
@@ -802,22 +762,18 b' Non-interactive linear update'
802 762 U file1
803 763 U file2
804 764 --- debugmergestate ---
805 * version 2 records
806 local: ab57bf49aa276a22d35a473592d4c34b5abc3eff
807 other: 10f9a0a634e82080907e62f075ab119cbc565ea6
808 labels:
809 local: working copy
810 other: destination
811 file extras: file1 (ancestorlinknode = ab57bf49aa276a22d35a473592d4c34b5abc3eff)
812 file: file1 (record type "C", state "u", hash 60b27f004e454aca81b0480209cce5081ec52390)
813 local path: file1 (flags "")
765 local (working copy): ab57bf49aa276a22d35a473592d4c34b5abc3eff
766 other (destination): 10f9a0a634e82080907e62f075ab119cbc565ea6
767 file: file1 (state "u")
768 local path: file1 (hash 60b27f004e454aca81b0480209cce5081ec52390, flags "")
814 769 ancestor path: file1 (node b8e02f6433738021a065f94175c7cd23db5f05be)
815 other path: file1 (node null)
816 file extras: file2 (ancestorlinknode = ab57bf49aa276a22d35a473592d4c34b5abc3eff)
817 file: file2 (record type "C", state "u", hash null)
818 local path: file2 (flags "")
770 other path: file1 (node 0000000000000000000000000000000000000000)
771 extra: ancestorlinknode = ab57bf49aa276a22d35a473592d4c34b5abc3eff
772 file: file2 (state "u")
773 local path: file2 (hash 0000000000000000000000000000000000000000, flags "")
819 774 ancestor path: file2 (node 5d9299349fc01ddd25d0070d149b124d8f10411e)
820 775 other path: file2 (node e7c1328648519852e723de86c0c0525acd779257)
776 extra: ancestorlinknode = ab57bf49aa276a22d35a473592d4c34b5abc3eff
821 777 --- file1 ---
822 778 1
823 779 changed
@@ -845,22 +801,18 b' Choose local versions of files'
845 801 R file1
846 802 R file2
847 803 --- debugmergestate ---
848 * version 2 records
849 local: ab57bf49aa276a22d35a473592d4c34b5abc3eff
850 other: 10f9a0a634e82080907e62f075ab119cbc565ea6
851 labels:
852 local: working copy
853 other: destination
854 file extras: file1 (ancestorlinknode = ab57bf49aa276a22d35a473592d4c34b5abc3eff)
855 file: file1 (record type "C", state "r", hash 60b27f004e454aca81b0480209cce5081ec52390)
856 local path: file1 (flags "")
804 local (working copy): ab57bf49aa276a22d35a473592d4c34b5abc3eff
805 other (destination): 10f9a0a634e82080907e62f075ab119cbc565ea6
806 file: file1 (state "r")
807 local path: file1 (hash 60b27f004e454aca81b0480209cce5081ec52390, flags "")
857 808 ancestor path: file1 (node b8e02f6433738021a065f94175c7cd23db5f05be)
858 other path: file1 (node null)
859 file extras: file2 (ancestorlinknode = ab57bf49aa276a22d35a473592d4c34b5abc3eff)
860 file: file2 (record type "C", state "r", hash null)
861 local path: file2 (flags "")
809 other path: file1 (node 0000000000000000000000000000000000000000)
810 extra: ancestorlinknode = ab57bf49aa276a22d35a473592d4c34b5abc3eff
811 file: file2 (state "r")
812 local path: file2 (hash 0000000000000000000000000000000000000000, flags "")
862 813 ancestor path: file2 (node 5d9299349fc01ddd25d0070d149b124d8f10411e)
863 814 other path: file2 (node e7c1328648519852e723de86c0c0525acd779257)
815 extra: ancestorlinknode = ab57bf49aa276a22d35a473592d4c34b5abc3eff
864 816 --- file1 ---
865 817 1
866 818 changed
@@ -886,22 +838,18 b' Choose other versions of files'
886 838 R file1
887 839 R file2
888 840 --- debugmergestate ---
889 * version 2 records
890 local: ab57bf49aa276a22d35a473592d4c34b5abc3eff
891 other: 10f9a0a634e82080907e62f075ab119cbc565ea6
892 labels:
893 local: working copy
894 other: destination
895 file extras: file1 (ancestorlinknode = ab57bf49aa276a22d35a473592d4c34b5abc3eff)
896 file: file1 (record type "C", state "r", hash 60b27f004e454aca81b0480209cce5081ec52390)
897 local path: file1 (flags "")
841 local (working copy): ab57bf49aa276a22d35a473592d4c34b5abc3eff
842 other (destination): 10f9a0a634e82080907e62f075ab119cbc565ea6
843 file: file1 (state "r")
844 local path: file1 (hash 60b27f004e454aca81b0480209cce5081ec52390, flags "")
898 845 ancestor path: file1 (node b8e02f6433738021a065f94175c7cd23db5f05be)
899 other path: file1 (node null)
900 file extras: file2 (ancestorlinknode = ab57bf49aa276a22d35a473592d4c34b5abc3eff)
901 file: file2 (record type "C", state "r", hash null)
902 local path: file2 (flags "")
846 other path: file1 (node 0000000000000000000000000000000000000000)
847 extra: ancestorlinknode = ab57bf49aa276a22d35a473592d4c34b5abc3eff
848 file: file2 (state "r")
849 local path: file2 (hash 0000000000000000000000000000000000000000, flags "")
903 850 ancestor path: file2 (node 5d9299349fc01ddd25d0070d149b124d8f10411e)
904 851 other path: file2 (node e7c1328648519852e723de86c0c0525acd779257)
852 extra: ancestorlinknode = ab57bf49aa276a22d35a473592d4c34b5abc3eff
905 853 *** file1 does not exist
906 854 --- file2 ---
907 855 2
@@ -929,22 +877,18 b' Fail'
929 877 U file1
930 878 U file2
931 879 --- debugmergestate ---
932 * version 2 records
933 local: ab57bf49aa276a22d35a473592d4c34b5abc3eff
934 other: 10f9a0a634e82080907e62f075ab119cbc565ea6
935 labels:
936 local: working copy
937 other: destination
938 file extras: file1 (ancestorlinknode = ab57bf49aa276a22d35a473592d4c34b5abc3eff)
939 file: file1 (record type "C", state "u", hash 60b27f004e454aca81b0480209cce5081ec52390)
940 local path: file1 (flags "")
880 local (working copy): ab57bf49aa276a22d35a473592d4c34b5abc3eff
881 other (destination): 10f9a0a634e82080907e62f075ab119cbc565ea6
882 file: file1 (state "u")
883 local path: file1 (hash 60b27f004e454aca81b0480209cce5081ec52390, flags "")
941 884 ancestor path: file1 (node b8e02f6433738021a065f94175c7cd23db5f05be)
942 other path: file1 (node null)
943 file extras: file2 (ancestorlinknode = ab57bf49aa276a22d35a473592d4c34b5abc3eff)
944 file: file2 (record type "C", state "u", hash null)
945 local path: file2 (flags "")
885 other path: file1 (node 0000000000000000000000000000000000000000)
886 extra: ancestorlinknode = ab57bf49aa276a22d35a473592d4c34b5abc3eff
887 file: file2 (state "u")
888 local path: file2 (hash 0000000000000000000000000000000000000000, flags "")
946 889 ancestor path: file2 (node 5d9299349fc01ddd25d0070d149b124d8f10411e)
947 890 other path: file2 (node e7c1328648519852e723de86c0c0525acd779257)
891 extra: ancestorlinknode = ab57bf49aa276a22d35a473592d4c34b5abc3eff
948 892 --- file1 ---
949 893 1
950 894 changed
@@ -980,22 +924,18 b' Force prompts with no input'
980 924 U file1
981 925 U file2
982 926 --- debugmergestate ---
983 * version 2 records
984 local: ab57bf49aa276a22d35a473592d4c34b5abc3eff
985 other: 10f9a0a634e82080907e62f075ab119cbc565ea6
986 labels:
987 local: working copy
988 other: destination
989 file extras: file1 (ancestorlinknode = ab57bf49aa276a22d35a473592d4c34b5abc3eff)
990 file: file1 (record type "C", state "u", hash 60b27f004e454aca81b0480209cce5081ec52390)
991 local path: file1 (flags "")
927 local (working copy): ab57bf49aa276a22d35a473592d4c34b5abc3eff
928 other (destination): 10f9a0a634e82080907e62f075ab119cbc565ea6
929 file: file1 (state "u")
930 local path: file1 (hash 60b27f004e454aca81b0480209cce5081ec52390, flags "")
992 931 ancestor path: file1 (node b8e02f6433738021a065f94175c7cd23db5f05be)
993 other path: file1 (node null)
994 file extras: file2 (ancestorlinknode = ab57bf49aa276a22d35a473592d4c34b5abc3eff)
995 file: file2 (record type "C", state "u", hash null)
996 local path: file2 (flags "")
932 other path: file1 (node 0000000000000000000000000000000000000000)
933 extra: ancestorlinknode = ab57bf49aa276a22d35a473592d4c34b5abc3eff
934 file: file2 (state "u")
935 local path: file2 (hash 0000000000000000000000000000000000000000, flags "")
997 936 ancestor path: file2 (node 5d9299349fc01ddd25d0070d149b124d8f10411e)
998 937 other path: file2 (node e7c1328648519852e723de86c0c0525acd779257)
938 extra: ancestorlinknode = ab57bf49aa276a22d35a473592d4c34b5abc3eff
999 939 --- file1 ---
1000 940 1
1001 941 changed
@@ -1032,22 +972,18 b' Choose to merge all files'
1032 972 U file1
1033 973 U file2
1034 974 --- debugmergestate ---
1035 * version 2 records
1036 local: ab57bf49aa276a22d35a473592d4c34b5abc3eff
1037 other: 10f9a0a634e82080907e62f075ab119cbc565ea6
1038 labels:
1039 local: working copy
1040 other: destination
1041 file extras: file1 (ancestorlinknode = ab57bf49aa276a22d35a473592d4c34b5abc3eff)
1042 file: file1 (record type "C", state "u", hash 60b27f004e454aca81b0480209cce5081ec52390)
1043 local path: file1 (flags "")
975 local (working copy): ab57bf49aa276a22d35a473592d4c34b5abc3eff
976 other (destination): 10f9a0a634e82080907e62f075ab119cbc565ea6
977 file: file1 (state "u")
978 local path: file1 (hash 60b27f004e454aca81b0480209cce5081ec52390, flags "")
1044 979 ancestor path: file1 (node b8e02f6433738021a065f94175c7cd23db5f05be)
1045 other path: file1 (node null)
1046 file extras: file2 (ancestorlinknode = ab57bf49aa276a22d35a473592d4c34b5abc3eff)
1047 file: file2 (record type "C", state "u", hash null)
1048 local path: file2 (flags "")
980 other path: file1 (node 0000000000000000000000000000000000000000)
981 extra: ancestorlinknode = ab57bf49aa276a22d35a473592d4c34b5abc3eff
982 file: file2 (state "u")
983 local path: file2 (hash 0000000000000000000000000000000000000000, flags "")
1049 984 ancestor path: file2 (node 5d9299349fc01ddd25d0070d149b124d8f10411e)
1050 985 other path: file2 (node e7c1328648519852e723de86c0c0525acd779257)
986 extra: ancestorlinknode = ab57bf49aa276a22d35a473592d4c34b5abc3eff
1051 987 --- file1 ---
1052 988 1
1053 989 changed
@@ -76,13 +76,11 b' Merge - local file conflicts with remote'
76 76 A a/b~0ed027b96f31
77 77 R a/b
78 78 $ hg debugmergestate
79 * version 2 records
80 local: 0ed027b96f31a2560c8abe689ba59876409a2b8e
81 other: 9049d9534d5c5d16264aab02b4b9e20d03faabef
82 labels:
83 local: working copy
84 other: merge rev
85 unrecognized entry: P a/b pu a/b~0ed027b96f31 l
79 local (working copy): 0ed027b96f31a2560c8abe689ba59876409a2b8e
80 other (merge rev): 9049d9534d5c5d16264aab02b4b9e20d03faabef
81 file: a/b (state "pu")
82 rename side: l
83 renamed path: a/b~0ed027b96f31
86 84 $ hg resolve --all
87 85 a/b: path conflict must be resolved manually
88 86 $ hg forget a/b~0ed027b96f31 && rm a/b~0ed027b96f31
@@ -115,13 +113,11 b' Merge - local symlink conflicts with rem'
115 113 $ hg resolve --mark a/b
116 114 (no more unresolved files)
117 115 $ hg debugmergestate
118 * version 2 records
119 local: 2ea68033e3be03a560471c1fc9e5704fbedb9b4b
120 other: 9049d9534d5c5d16264aab02b4b9e20d03faabef
121 labels:
122 local: working copy
123 other: merge rev
124 unrecognized entry: P a/b pr a/b~2ea68033e3be l
116 local (working copy): 2ea68033e3be03a560471c1fc9e5704fbedb9b4b
117 other (merge rev): 9049d9534d5c5d16264aab02b4b9e20d03faabef
118 file: a/b (state "pr")
119 rename side: l
120 renamed path: a/b~2ea68033e3be
125 121 $ hg resolve --list
126 122 R a/b
127 123 $ hg commit -m "merge link and dir (renamed link)"
@@ -88,18 +88,13 b' Insert unsupported advisory merge record'
88 88
89 89 $ hg --config extensions.fakemergerecord=$TESTDIR/fakemergerecord.py fakemergerecord -x
90 90 $ hg debugmergestate
91 * version 2 records
92 local: 3e046f2ecedb793b97ed32108086edd1a162f8bc
93 other: 46f0b057b5c061d276b91491c22151f78698abd2
94 labels:
95 local: dest
96 other: source
97 unrecognized entry: x advisory record
98 file extras: common (ancestorlinknode = 3163e20567cc93074fbb7a53c8b93312e59dbf2c)
99 file: common (record type "F", state "u", hash 94c8c21d08740f5da9eaa38d1f175c592692f0d1)
100 local path: common (flags "")
91 local (dest): 3e046f2ecedb793b97ed32108086edd1a162f8bc
92 other (source): 46f0b057b5c061d276b91491c22151f78698abd2
93 file: common (state "u")
94 local path: common (hash 94c8c21d08740f5da9eaa38d1f175c592692f0d1, flags "")
101 95 ancestor path: common (node de0a666fdd9c1a0b0698b90d85064d8bd34f74b6)
102 96 other path: common (node 2f6411de53677f6f1048fef5bf888d67a342e0a5)
97 extra: ancestorlinknode = 3163e20567cc93074fbb7a53c8b93312e59dbf2c
103 98 $ hg resolve -l
104 99 U common
105 100
@@ -107,18 +102,9 b' Insert unsupported mandatory merge recor'
107 102
108 103 $ hg --config extensions.fakemergerecord=$TESTDIR/fakemergerecord.py fakemergerecord -X
109 104 $ hg debugmergestate
110 * version 2 records
111 local: 3e046f2ecedb793b97ed32108086edd1a162f8bc
112 other: 46f0b057b5c061d276b91491c22151f78698abd2
113 labels:
114 local: dest
115 other: source
116 file extras: common (ancestorlinknode = 3163e20567cc93074fbb7a53c8b93312e59dbf2c)
117 file: common (record type "F", state "u", hash 94c8c21d08740f5da9eaa38d1f175c592692f0d1)
118 local path: common (flags "")
119 ancestor path: common (node de0a666fdd9c1a0b0698b90d85064d8bd34f74b6)
120 other path: common (node 2f6411de53677f6f1048fef5bf888d67a342e0a5)
121 unrecognized entry: X mandatory record
105 abort: unsupported merge state records: X
106 (see https://mercurial-scm.org/wiki/MergeStateRecords for more information)
107 [255]
122 108 $ hg resolve -l
123 109 abort: unsupported merge state records: X
124 110 (see https://mercurial-scm.org/wiki/MergeStateRecords for more information)
@@ -306,48 +306,40 b' insert unsupported advisory merge record'
306 306
307 307 $ hg --config extensions.fakemergerecord=$TESTDIR/fakemergerecord.py fakemergerecord -x
308 308 $ hg debugmergestate
309 * version 2 records
310 local: 57653b9f834a4493f7240b0681efcb9ae7cab745
311 other: dc77451844e37f03f5c559e3b8529b2b48d381d1
312 labels:
313 local: working copy
314 other: merge rev
315 unrecognized entry: x advisory record
316 file extras: file1 (ancestorlinknode = 99726c03216e233810a2564cbc0adfe395007eac)
317 file: file1 (record type "F", state "r", hash 60b27f004e454aca81b0480209cce5081ec52390)
318 local path: file1 (flags "")
309 local (working copy): 57653b9f834a4493f7240b0681efcb9ae7cab745
310 other (merge rev): dc77451844e37f03f5c559e3b8529b2b48d381d1
311 file: file1 (state "r")
312 local path: file1 (hash 60b27f004e454aca81b0480209cce5081ec52390, flags "")
319 313 ancestor path: file1 (node 2ed2a3912a0b24502043eae84ee4b279c18b90dd)
320 314 other path: file1 (node 6f4310b00b9a147241b071a60c28a650827fb03d)
321 file extras: file2 (ancestorlinknode = 99726c03216e233810a2564cbc0adfe395007eac)
322 file: file2 (record type "F", state "u", hash cb99b709a1978bd205ab9dfd4c5aaa1fc91c7523)
323 local path: file2 (flags "")
315 extra: ancestorlinknode = 99726c03216e233810a2564cbc0adfe395007eac
316 file: file2 (state "u")
317 local path: file2 (hash cb99b709a1978bd205ab9dfd4c5aaa1fc91c7523, flags "")
324 318 ancestor path: file2 (node 2ed2a3912a0b24502043eae84ee4b279c18b90dd)
325 319 other path: file2 (node 6f4310b00b9a147241b071a60c28a650827fb03d)
320 extra: ancestorlinknode = 99726c03216e233810a2564cbc0adfe395007eac
326 321 $ hg resolve -l
327 322 R file1
328 323 U file2
329 324
325 test json output
326
327 $ hg debugmergestate -T json
328 [
329 {
330 "commits": [{"label": "working copy", "name": "local", "node": "57653b9f834a4493f7240b0681efcb9ae7cab745"}, {"label": "merge rev", "name": "other", "node": "dc77451844e37f03f5c559e3b8529b2b48d381d1"}],
331 "files": [{"ancestor_node": "2ed2a3912a0b24502043eae84ee4b279c18b90dd", "ancestor_path": "file1", "extras": [{"key": "ancestorlinknode", "value": "99726c03216e233810a2564cbc0adfe395007eac"}], "local_flags": "", "local_key": "60b27f004e454aca81b0480209cce5081ec52390", "local_path": "file1", "other_node": "6f4310b00b9a147241b071a60c28a650827fb03d", "other_path": "file1", "path": "file1", "state": "r"}, {"ancestor_node": "2ed2a3912a0b24502043eae84ee4b279c18b90dd", "ancestor_path": "file2", "extras": [{"key": "ancestorlinknode", "value": "99726c03216e233810a2564cbc0adfe395007eac"}], "local_flags": "", "local_key": "cb99b709a1978bd205ab9dfd4c5aaa1fc91c7523", "local_path": "file2", "other_node": "6f4310b00b9a147241b071a60c28a650827fb03d", "other_path": "file2", "path": "file2", "state": "u"}]
332 }
333 ]
334
335
330 336 insert unsupported mandatory merge record
331 337
332 338 $ hg --config extensions.fakemergerecord=$TESTDIR/fakemergerecord.py fakemergerecord -X
333 339 $ hg debugmergestate
334 * version 2 records
335 local: 57653b9f834a4493f7240b0681efcb9ae7cab745
336 other: dc77451844e37f03f5c559e3b8529b2b48d381d1
337 labels:
338 local: working copy
339 other: merge rev
340 file extras: file1 (ancestorlinknode = 99726c03216e233810a2564cbc0adfe395007eac)
341 file: file1 (record type "F", state "r", hash 60b27f004e454aca81b0480209cce5081ec52390)
342 local path: file1 (flags "")
343 ancestor path: file1 (node 2ed2a3912a0b24502043eae84ee4b279c18b90dd)
344 other path: file1 (node 6f4310b00b9a147241b071a60c28a650827fb03d)
345 file extras: file2 (ancestorlinknode = 99726c03216e233810a2564cbc0adfe395007eac)
346 file: file2 (record type "F", state "u", hash cb99b709a1978bd205ab9dfd4c5aaa1fc91c7523)
347 local path: file2 (flags "")
348 ancestor path: file2 (node 2ed2a3912a0b24502043eae84ee4b279c18b90dd)
349 other path: file2 (node 6f4310b00b9a147241b071a60c28a650827fb03d)
350 unrecognized entry: X mandatory record
340 abort: unsupported merge state records: X
341 (see https://mercurial-scm.org/wiki/MergeStateRecords for more information)
342 [255]
351 343 $ hg resolve -l
352 344 abort: unsupported merge state records: X
353 345 (see https://mercurial-scm.org/wiki/MergeStateRecords for more information)
General Comments 0
You need to be logged in to leave comments. Login now