[PATCH 0 of 1] notify: add 'threshold' param to differentiate large and small cgroups

David Champion dgc at uchicago.edu
Fri Oct 2 20:01:05 UTC 2009


This patch updates the Notify extension so that it can differentiate
large and small changegroups.  It will notify in 'incoming' style
(individual per-cset messages) for small changegroups, and in
'changegroup' style (single summary messages) for large ones.  The
large-small boundary is defined by [notify]'s threshold parameter, which
defaults to 0 (i.e. no change from current behavior).

The most obvious use case is just to minimize traffic on large pushes.

Here's another: We're experimenting with a (common) multi-tier workflow
where committers push to one of three branch repos.  Periodically the
branch manager for each of these repos tags a release candidate.  Then
the release manager for the project pulls by tag from the branch repos,
synthesizes them into a release or release candidate and tags.  The
branch managers pull the synthesized tag rev back to their repos.

The branch repos are set up to notify their subproject members, so
they receive e-mail when someone pushes to their branch repo.  But
they're not interested in commits to the other branches, and do not
want to review e-mail concerning csets pulled back from the synthesized
repo.  Since committers' pushes tend to be smallish (say, <10 csets)
and synthesized back-pulls tend to be larger, this is one way of
differentiating.



More information about the Mercurial-devel mailing list