Mercurial > public > mercurial-scm > hg-stable
diff 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 |
line wrap: on
line diff
--- a/mercurial/subrepo.py Sat Apr 25 23:54:31 2015 -0400 +++ b/mercurial/subrepo.py Fri Apr 24 23:23:55 2015 -0400 @@ -153,7 +153,8 @@ def writestate(repo, state): """rewrite .hgsubstate in (outer) repo with these subrepo states""" - lines = ['%s %s\n' % (state[s][1], s) for s in sorted(state)] + lines = ['%s %s\n' % (state[s][1], s) for s in sorted(state) + if state[s][1] != nullstate[1]] repo.wwrite('.hgsubstate', ''.join(lines), '') def submerge(repo, wctx, mctx, actx, overwrite):