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():