comparison mercurial/localrepo.py @ 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 5b178298b7f4
children 482d3fb47d80
comparison
equal deleted inserted replaced
2353:0c0bfea3f72a 2354:16276b1c0658
1508 1508
1509 # pull off the changeset group 1509 # pull off the changeset group
1510 self.ui.status(_("adding changesets\n")) 1510 self.ui.status(_("adding changesets\n"))
1511 cor = cl.count() - 1 1511 cor = cl.count() - 1
1512 chunkiter = changegroup.chunkiter(source) 1512 chunkiter = changegroup.chunkiter(source)
1513 cl.addgroup(chunkiter, csmap, tr, 1) # unique 1513 if cl.addgroup(chunkiter, csmap, tr, 1) is None:
1514 raise util.Abort(_("received changelog group is empty"))
1514 cnr = cl.count() - 1 1515 cnr = cl.count() - 1
1515 changesets = cnr - cor 1516 changesets = cnr - cor
1516 1517
1517 mf = None 1518 mf = None
1518 try: 1519 try:
1520 self.manifest.version) 1521 self.manifest.version)
1521 1522
1522 # pull off the manifest group 1523 # pull off the manifest group
1523 self.ui.status(_("adding manifests\n")) 1524 self.ui.status(_("adding manifests\n"))
1524 chunkiter = changegroup.chunkiter(source) 1525 chunkiter = changegroup.chunkiter(source)
1526 # no need to check for empty manifest group here:
1527 # if the result of the merge of 1 and 2 is the same in 3 and 4,
1528 # no new manifest will be created and the manifest group will
1529 # be empty during the pull
1525 mf.addgroup(chunkiter, revmap, tr) 1530 mf.addgroup(chunkiter, revmap, tr)
1526 1531
1527 # process the files 1532 # process the files
1528 self.ui.status(_("adding file changes\n")) 1533 self.ui.status(_("adding file changes\n"))
1529 while 1: 1534 while 1:
1532 break 1537 break
1533 self.ui.debug(_("adding %s revisions\n") % f) 1538 self.ui.debug(_("adding %s revisions\n") % f)
1534 fl = self.file(f) 1539 fl = self.file(f)
1535 o = fl.count() 1540 o = fl.count()
1536 chunkiter = changegroup.chunkiter(source) 1541 chunkiter = changegroup.chunkiter(source)
1537 fl.addgroup(chunkiter, revmap, tr) 1542 if fl.addgroup(chunkiter, revmap, tr) is None:
1543 raise util.Abort(_("received file revlog group is empty"))
1538 revisions += fl.count() - o 1544 revisions += fl.count() - o
1539 files += 1 1545 files += 1
1540 1546
1541 # write order here is important so concurrent readers will see 1547 # write order here is important so concurrent readers will see
1542 # consistent view of repo 1548 # consistent view of repo