Reported by abderrahim on github:
That can go from as little as all the files in the pushed revisions (not just the changed files) to the whole branch back to its root (in case a branch is made off an old revision).
This script should be equivalent to git rev-list --objects (except that it doesn't resolve refs or short hashes), but it gives much more, for example:
for a single revision :
$ git rev-list --objects 088be0574f98b5eca85f94e38f7647ef465876a9 ^a5d43f6cc88834d881e5ed763cb08d14b4afd7d0 |wc -l
5
$ python ../dul-rev-list 088be0574f98b5eca85f94e38f7647ef465876a9 ^a5d43f6cc88834d881e5ed763cb08d14b4afd7d0 |wc -l
1762
for a branch off an old revision
$ python ../dul-rev-list 051a598458657f2a2fd28ab791d053952274db82 ^a5d43f6cc88834d881e5ed763cb08d14b4afd7d0 |wc -l
48723
$ git rev-list --objects 051a598458657f2a2fd28ab791d053952274db82 ^a5d43f6cc88834d881e5ed763cb08d14b4afd7d0 |wc -l
424
Here is the script : http://paste.lisp.org/+21VT
jesus.
I mean, uh, here is a related issue downstream: http:// github. com/schacon/ hg-git/ issues/ #issue/ 32