blackbox: only show new heads on incoming
The blackbox was logging every head after every incoming group.
Now we only log the heads that have changed.
Added a test. Moved the hooks test to the bottom of the file since
the hooks interfer with the tests after it.
--- a/mercurial/localrepo.py Wed Feb 13 10:54:52 2013 -0800
+++ b/mercurial/localrepo.py Wed Feb 13 11:07:01 2013 -0800
@@ -2400,11 +2400,11 @@
self.hook("incoming", node=hex(n), source=srctype,
url=url)
- heads = self.heads()
+ newheads = [h for h in self.heads() if h not in oldheads]
self.ui.log("incoming",
_("%s incoming changes - new heads: %s\n"),
len(added),
- ', '.join([hex(c[:6]) for c in heads]))
+ ', '.join([hex(c[:6]) for c in newheads]))
self._afterlock(runhooks)
finally:
--- a/tests/test-blackbox.t Wed Feb 13 10:54:52 2013 -0800
+++ b/tests/test-blackbox.t Wed Feb 13 11:07:01 2013 -0800
@@ -28,6 +28,38 @@
1970/01/01 00:00:00 bob> add a
1970/01/01 00:00:00 bob> add exited 0 after * seconds (glob)
+incoming change tracking
+
+create two heads to verify that we only see one change in the log later
+ $ hg commit -ma
+ $ hg up null
+ 0 files updated, 0 files merged, 1 files removed, 0 files unresolved
+ $ echo b > b
+ $ hg commit -Amb
+ adding b
+ created new head
+
+clone, commit, pull
+ $ hg clone . ../blackboxtest2
+ updating to branch default
+ 1 files updated, 0 files merged, 0 files removed, 0 files unresolved
+ $ echo c > c
+ $ hg commit -Amc
+ adding c
+ $ cd ../blackboxtest2
+ $ hg pull
+ pulling from $TESTTMP/blackboxtest
+ searching for changes
+ adding changesets
+ adding manifests
+ adding file changes
+ added 1 changesets with 1 changes to 1 files
+ (run 'hg update' to get a working copy)
+ $ hg blackbox -l 3
+ 1970/01/01 00:00:00 bob> pull
+ 1970/01/01 00:00:00 bob> 1 incoming changes - new heads: d02f48003e62 (glob)
+ 1970/01/01 00:00:00 bob> pull exited None after * seconds (glob)
+
extension and python hooks - use the eol extension for a pythonhook
$ echo '[extensions]' >> .hg/hgrc
@@ -36,32 +68,12 @@
$ echo 'update = echo hooked' >> .hg/hgrc
$ hg update
hooked
- 0 files updated, 0 files merged, 0 files removed, 0 files unresolved
+ 1 files updated, 0 files merged, 0 files removed, 0 files unresolved
$ hg blackbox -l 4
1970/01/01 00:00:00 bob> update
1970/01/01 00:00:00 bob> pythonhook-preupdate: hgext.eol.preupdate finished in * seconds (glob)
1970/01/01 00:00:00 bob> exthook-update: echo hooked finished in * seconds (glob)
1970/01/01 00:00:00 bob> update exited False after * seconds (glob)
-incoming change tracking
-
- $ hg clone . ../blackboxtest2
- updating to branch default
- 0 files updated, 0 files merged, 0 files removed, 0 files unresolved
- $ hg commit -ma
- $ cd ../blackboxtest2
- $ hg pull
- pulling from $TESTTMP/blackboxtest
- requesting all changes
- adding changesets
- adding manifests
- adding file changes
- added 1 changesets with 1 changes to 1 files
- (run 'hg update' to get a working copy)
- $ hg blackbox -l 3
- 1970/01/01 00:00:00 bob> pull
- 1970/01/01 00:00:00 bob> 1 incoming changes - new heads: cb9a9f314b8b (glob)
- 1970/01/01 00:00:00 bob> pull exited None after * seconds (glob)
-
cleanup
$ cd ..