Mercurial > public > mercurial-scm > hg
comparison mercurial/localrepo.py @ 1375:f2b00be33e2c
Fix traceback when nothing was added during unbundle
The changegroup and commit hook are now run only when
something is modified.
The correct number of changesets added is printed.
author | Benoit Boissinot <benoit.boissinot@ens-lyon.org> |
---|---|
date | Mon, 03 Oct 2005 14:45:14 -0700 |
parents | a0c68981a5f4 |
children | b113e7db06e9 |
comparison
equal
deleted
inserted
replaced
1374:c3654cfaa77d | 1375:f2b00be33e2c |
---|---|
990 # pull off the changeset group | 990 # pull off the changeset group |
991 self.ui.status("adding changesets\n") | 991 self.ui.status("adding changesets\n") |
992 co = self.changelog.tip() | 992 co = self.changelog.tip() |
993 cn = self.changelog.addgroup(getgroup(), csmap, tr, 1) # unique | 993 cn = self.changelog.addgroup(getgroup(), csmap, tr, 1) # unique |
994 cnr, cor = map(self.changelog.rev, (cn, co)) | 994 cnr, cor = map(self.changelog.rev, (cn, co)) |
995 if cn == nullid: | |
996 cnr = cor | |
995 changesets = cnr - cor | 997 changesets = cnr - cor |
996 | 998 |
997 # pull off the manifest group | 999 # pull off the manifest group |
998 self.ui.status("adding manifests\n") | 1000 self.ui.status("adding manifests\n") |
999 mm = self.manifest.tip() | 1001 mm = self.manifest.tip() |
1020 " with %d changes to %d files%s\n") | 1022 " with %d changes to %d files%s\n") |
1021 % (changesets, revisions, files, heads)) | 1023 % (changesets, revisions, files, heads)) |
1022 | 1024 |
1023 tr.close() | 1025 tr.close() |
1024 | 1026 |
1025 if not self.hook("changegroup", node=hex(self.changelog.node(cor+1))): | 1027 if changesets > 0: |
1026 self.ui.warn("abort: changegroup hook returned failure!\n") | 1028 if not self.hook("changegroup", |
1027 return 1 | 1029 node=hex(self.changelog.node(cor+1))): |
1028 | 1030 self.ui.warn("abort: changegroup hook returned failure!\n") |
1029 for i in range(cor + 1, cnr + 1): | 1031 return 1 |
1030 self.hook("commit", node=hex(self.changelog.node(i))) | 1032 |
1033 for i in range(cor + 1, cnr + 1): | |
1034 self.hook("commit", node=hex(self.changelog.node(i))) | |
1031 | 1035 |
1032 return | 1036 return |
1033 | 1037 |
1034 def update(self, node, allow=False, force=False, choose=None, | 1038 def update(self, node, allow=False, force=False, choose=None, |
1035 moddirstate=True): | 1039 moddirstate=True): |