Mercurial > public > mercurial-scm > hg
comparison mercurial/debugcommands.py @ 44856:b7808443ed6a
mergestate: split out merge state handling code from main merge module
There's already some pretty reasonable encapsulation here, but I want
to make the mergestate storage a property of the context so memctx
instances can do a reasonable thing. This is the first step in a
reshuffle to make that easier.
Differential Revision: https://phab.mercurial-scm.org/D8550
author | Augie Fackler <augie@google.com> |
---|---|
date | Mon, 18 May 2020 14:59:59 -0400 |
parents | 649fd6c3ed33 |
children | 9f96beb9bafe |
comparison
equal
deleted
inserted
replaced
44855:1d2d353e5c4a | 44856:b7808443ed6a |
---|---|
56 hg, | 56 hg, |
57 httppeer, | 57 httppeer, |
58 localrepo, | 58 localrepo, |
59 lock as lockmod, | 59 lock as lockmod, |
60 logcmdutil, | 60 logcmdutil, |
61 merge as mergemod, | 61 mergestate as mergestatemod, |
62 obsolete, | 62 obsolete, |
63 obsutil, | 63 obsutil, |
64 pathutil, | 64 pathutil, |
65 phases, | 65 phases, |
66 policy, | 66 policy, |
1972 | 1972 |
1973 Use --verbose to print out information about whether v1 or v2 merge state | 1973 Use --verbose to print out information about whether v1 or v2 merge state |
1974 was chosen.""" | 1974 was chosen.""" |
1975 | 1975 |
1976 if ui.verbose: | 1976 if ui.verbose: |
1977 ms = mergemod.mergestate(repo) | 1977 ms = mergestatemod.mergestate(repo) |
1978 | 1978 |
1979 # sort so that reasonable information is on top | 1979 # sort so that reasonable information is on top |
1980 v1records = ms._readrecordsv1() | 1980 v1records = ms._readrecordsv1() |
1981 v2records = ms._readrecordsv2() | 1981 v2records = ms._readrecordsv2() |
1982 | 1982 |
2006 b'")}' | 2006 b'")}' |
2007 b'{extras % " extra: {key} = {value}\n"}' | 2007 b'{extras % " extra: {key} = {value}\n"}' |
2008 b'"}' | 2008 b'"}' |
2009 ) | 2009 ) |
2010 | 2010 |
2011 ms = mergemod.mergestate.read(repo) | 2011 ms = mergestatemod.mergestate.read(repo) |
2012 | 2012 |
2013 fm = ui.formatter(b'debugmergestate', opts) | 2013 fm = ui.formatter(b'debugmergestate', opts) |
2014 fm.startitem() | 2014 fm.startitem() |
2015 | 2015 |
2016 fm_commits = fm.nested(b'commits') | 2016 fm_commits = fm.nested(b'commits') |
2032 fm_files.startitem() | 2032 fm_files.startitem() |
2033 fm_files.data(path=f) | 2033 fm_files.data(path=f) |
2034 state = ms._state[f] | 2034 state = ms._state[f] |
2035 fm_files.data(state=state[0]) | 2035 fm_files.data(state=state[0]) |
2036 if state[0] in ( | 2036 if state[0] in ( |
2037 mergemod.MERGE_RECORD_UNRESOLVED, | 2037 mergestatemod.MERGE_RECORD_UNRESOLVED, |
2038 mergemod.MERGE_RECORD_RESOLVED, | 2038 mergestatemod.MERGE_RECORD_RESOLVED, |
2039 ): | 2039 ): |
2040 fm_files.data(local_key=state[1]) | 2040 fm_files.data(local_key=state[1]) |
2041 fm_files.data(local_path=state[2]) | 2041 fm_files.data(local_path=state[2]) |
2042 fm_files.data(ancestor_path=state[3]) | 2042 fm_files.data(ancestor_path=state[3]) |
2043 fm_files.data(ancestor_node=state[4]) | 2043 fm_files.data(ancestor_node=state[4]) |
2044 fm_files.data(other_path=state[5]) | 2044 fm_files.data(other_path=state[5]) |
2045 fm_files.data(other_node=state[6]) | 2045 fm_files.data(other_node=state[6]) |
2046 fm_files.data(local_flags=state[7]) | 2046 fm_files.data(local_flags=state[7]) |
2047 elif state[0] in ( | 2047 elif state[0] in ( |
2048 mergemod.MERGE_RECORD_UNRESOLVED_PATH, | 2048 mergestatemod.MERGE_RECORD_UNRESOLVED_PATH, |
2049 mergemod.MERGE_RECORD_RESOLVED_PATH, | 2049 mergestatemod.MERGE_RECORD_RESOLVED_PATH, |
2050 ): | 2050 ): |
2051 fm_files.data(renamed_path=state[1]) | 2051 fm_files.data(renamed_path=state[1]) |
2052 fm_files.data(rename_side=state[2]) | 2052 fm_files.data(rename_side=state[2]) |
2053 fm_extras = fm_files.nested(b'extras') | 2053 fm_extras = fm_files.nested(b'extras') |
2054 for k, v in ms.extras(f).items(): | 2054 for k, v in ms.extras(f).items(): |