# HG changeset patch # User Pierre-Yves David # Date 1320967140 -3600 # Node ID a44446ff9ad8c673c7b097230b842b945bd8e3ce # Parent 9ae766f2f45273a8c9fd8bb1df28be3148d7e388 phases: marked content of a changegroup as published diff -r 9ae766f2f452 -r a44446ff9ad8 mercurial/localrepo.py --- a/mercurial/localrepo.py Fri Nov 11 00:15:22 2011 +0100 +++ b/mercurial/localrepo.py Fri Nov 11 00:19:00 2011 +0100 @@ -1978,6 +1978,9 @@ node=hex(cl.node(clstart)), source=srctype, url=url, pending=p) + added = [cl.node(r) for r in xrange(clstart, clend)] + if srctype != 'strip': + phases.advanceboundary(self, 0, added) # make changelog see real files again cl.finalize(trp) @@ -1994,9 +1997,8 @@ self.hook("changegroup", node=hex(cl.node(clstart)), source=srctype, url=url) - for i in xrange(clstart, clend): - self.hook("incoming", node=hex(cl.node(i)), - source=srctype, url=url) + for n in added: + self.hook("incoming", node=hex(n), source=srctype, url=url) # never return 0 here: if dh < 0: diff -r 9ae766f2f452 -r a44446ff9ad8 tests/test-phases-exchange.t --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/tests/test-phases-exchange.t Fri Nov 11 00:19:00 2011 +0100 @@ -0,0 +1,58 @@ + $ cat >> $HGRCPATH < [extensions] + > graphlog= + > EOF + $ alias hgph='hg log --template "{rev} {phase} {desc}\n"' + + $ mkcommit() { + > echo "$1" > "$1" + > hg add "$1" + > hg ci -m "$1" + > } + + $ hg init alpha + $ cd alpha + $ mkcommit a-A + $ mkcommit a-B + $ mkcommit a-C + $ mkcommit a-D + $ hgph + 3 1 a-D + 2 1 a-C + 1 1 a-B + 0 1 a-A + + $ hg init ../beta + $ hg push -r 1 ../beta + pushing to ../beta + searching for changes + adding changesets + adding manifests + adding file changes + added 2 changesets with 2 changes to 2 files + $ cd ../beta + $ hgph + 1 0 a-B + 0 0 a-A + $ hg up -q + $ mkcommit b-A + $ hgph + 2 1 b-A + 1 0 a-B + 0 0 a-A + $ hg pull ../alpha + pulling from ../alpha + searching for changes + adding changesets + adding manifests + adding file changes + added 2 changesets with 2 changes to 2 files (+1 heads) + (run 'hg heads' to see heads, 'hg merge' to merge) + $ hgph + 4 0 a-D + 3 0 a-C + 2 1 b-A + 1 0 a-B + 0 0 a-A + +