Stephen Lau wrote:
Currently, our notification mechanism sends a notification for each incoming changeset. On Mercurial, this means at the changeset level. For Subversion, this means at the commit level.

We've now had two instances of massive putback overload due to importing/seeding a Mercurial repository with large amounts of changesets, resulting in 2000+ putback notifications.

Given that only two people have actually seeded a Mercurial repository - I expect this will be a recurring problem ;-)

We've got a few ways to go about solving the problem, and there are different angles of attack: (I'm going to talk about things from the Mercurial side, since I don't anticipate this problem with Subversion since you can't "push" massive numbers of changesets since the analogous seed action is 'svnadmin load'):

(These are not mutually exclusive, and some of these solutions can and should be combined with others)

1) Move the incoming-changeset hook to the incoming-changegroup hook and send one notification per changegroup

I think that is how I expected it was setup anyway.

Maybe a better solution would be to expose via the web interface all
the possible hooks where email could be sent (note I'm not suggesting
general hooks just email); and have the web page explain what will
happen for each of them.   That would allow different mail addresses
for each hook, say the project alias for the changegroup hook and
the "lead commiter/gatekeeper" for changeset.

2) Add a web interface action for "seeding" or loading a repository with an uploaded bundle; or allowing it to be seeded from an already existing repository. (For instance any ON projects could instantly seed from onnv-gate, almost instantaneously using zbringover)
(credit where credit's due: this was Rich Lowe's idea)

I think regardless of this mail problem (Hi world I was one of the
two people that caused the mail storm), this is a very good feature
to have.  I naively expected that this was going to be there as a
feature already, but I guess that is my ON centric view of development.
So yes please add that.

3) Add an additional incoming-changegroup hook that detects >10 (or 20, whatever... this can be subject to debate) incoming changesets and aborts. Either return failure (bad), or print helpful message telling them to use the solution we've devised in #2 above (better)

Hmn I don't like this one at all, sometimes it is what you want. What happens when there is only limit+1 changesets this could get anoying
very quickly for some people.

--
Darren J Moffat
_______________________________________________
tools-discuss mailing list
[email protected]

Reply via email to