comparison mercurial/subrepo.py @ 24858:a99931201d1b stable

subrepo: don't write .hgsubstate lines with empty subrepo state (issue4622) The '' that is used to represent the state of a not-yet-committed subrepo cannot be written to the file, because the code that parses the file splits on ' ' and expects two parts. Given that the .hgsubstate file is automatically rewritten on commit, it seems a little strange that the file is written out during a merge.
author Matt Harbison <matt_harbison@yahoo.com>
date Fri, 24 Apr 2015 23:23:55 -0400
parents 56e15db9109f
children 5135c2be6959
comparison
equal deleted inserted replaced
24857:d8505bfe4825 24858:a99931201d1b
151 151
152 return state 152 return state
153 153
154 def writestate(repo, state): 154 def writestate(repo, state):
155 """rewrite .hgsubstate in (outer) repo with these subrepo states""" 155 """rewrite .hgsubstate in (outer) repo with these subrepo states"""
156 lines = ['%s %s\n' % (state[s][1], s) for s in sorted(state)] 156 lines = ['%s %s\n' % (state[s][1], s) for s in sorted(state)
157 if state[s][1] != nullstate[1]]
157 repo.wwrite('.hgsubstate', ''.join(lines), '') 158 repo.wwrite('.hgsubstate', ''.join(lines), '')
158 159
159 def submerge(repo, wctx, mctx, actx, overwrite): 160 def submerge(repo, wctx, mctx, actx, overwrite):
160 """delegated from merge.applyupdates: merging of .hgsubstate file 161 """delegated from merge.applyupdates: merging of .hgsubstate file
161 in working context, merging context and ancestor context""" 162 in working context, merging context and ancestor context"""