Mercurial > hg
changeset 2354:16276b1c0658
Manifest groups may be empty, so don't abort in this case (fixes issue210).
Only abort on empty changelog and file revlogs.
author | Thomas Arendsen Hein <thomas@intevation.de> |
---|---|
date | Wed, 31 May 2006 22:25:20 +0200 |
parents | 0c0bfea3f72a |
children | 4a7bdb1e8dc1 |
files | mercurial/localrepo.py mercurial/revlog.py |
diffstat | 2 files changed, 8 insertions(+), 4 deletions(-) [+] |
line wrap: on
line diff
--- a/mercurial/localrepo.py Wed May 31 19:41:01 2006 +0200 +++ b/mercurial/localrepo.py Wed May 31 22:25:20 2006 +0200 @@ -1510,7 +1510,8 @@ self.ui.status(_("adding changesets\n")) cor = cl.count() - 1 chunkiter = changegroup.chunkiter(source) - cl.addgroup(chunkiter, csmap, tr, 1) # unique + if cl.addgroup(chunkiter, csmap, tr, 1) is None: + raise util.Abort(_("received changelog group is empty")) cnr = cl.count() - 1 changesets = cnr - cor @@ -1522,6 +1523,10 @@ # pull off the manifest group self.ui.status(_("adding manifests\n")) chunkiter = changegroup.chunkiter(source) + # no need to check for empty manifest group here: + # if the result of the merge of 1 and 2 is the same in 3 and 4, + # no new manifest will be created and the manifest group will + # be empty during the pull mf.addgroup(chunkiter, revmap, tr) # process the files @@ -1534,7 +1539,8 @@ fl = self.file(f) o = fl.count() chunkiter = changegroup.chunkiter(source) - fl.addgroup(chunkiter, revmap, tr) + if fl.addgroup(chunkiter, revmap, tr) is None: + raise util.Abort(_("received file revlog group is empty")) revisions += fl.count() - o files += 1