Date: Tue, 8 Jun 1999 13:45:22 -0400 From: Tim Vanderhoek <vanderh@ecf.utoronto.ca> To: The Hermit Hacker <scrappy@hub.org> Cc: freebsd-chat@freebsd.org Subject: Re: Proposal: Split up cvs-all mailing list? Message-ID: <19990608134522.A7547@mad> In-Reply-To: <Pine.BSF.4.05.9906081329340.49155-100000@thelab.hub.org>; from The Hermit Hacker on Tue, Jun 08, 1999 at 01:31:27PM -0300 References: <Pine.BSF.4.05.9906081329340.49155-100000@thelab.hub.org>
next in thread | previous in thread | raw e-mail | index | archive | help
On Tue, Jun 08, 1999 at 01:31:27PM -0300, The Hermit Hacker wrote: > > Is this doable? Is this something I could just as easily > configure in my procmail that I'm overlooking? I can't say whether it's doable or not, but here's snip from my .procmailrc (it certainly doable from within procmail --- everything is doable from within procmail ;-)... I recall I hacked this together pretty quickly, be warned... I think by the "# This has races" comment I meant that the part where it adds a "mailboxes" line to boxes/mailboxes has races. It doesn't matter for me since I always run it in series, but you probably want to either remove that code or fix it up (not entirely trivial). To make it split-up on RELENG_3 you'll need a line something like :0 B * RELENG_3 { LISTS="$LISTS all-stable" } [That won't work quite right, but I can't find a -stable commit in my list.cvs-committers right now that gives a better search string]. Also, note that on really large commits the subject line gets truncated when it's sent to cvs-all/cvs-committers. I should really be grepping the message body, not the subject, to find where it belongs, but then a little more work would be needed to avoid putting replies into the wrong box. # break-up cvs-committers :0 * ^Sender: owner-cvs-committers@FreeBSD.ORG * ^Subject: cvs commit: { # URLify PERLSCRIPT=' while (<>) { if (/^\s+(\d+\.)+\d+\s+\+\d+ \-\d+\s+/) { $r = $_; $r =~ s/.*?([a-z]+\/.+)/http\:\/\/www.FreeBSD.ORG\/cgi\/cvsweb\.cgi\/\1/; $l = "$l$r"; } print "$_"; } print "$l"; ' :0 bf | perl -e "${PERLSCRIPT}" :0 * ^Subject:.*ports/ { LISTS="$LISTS list.cvs-committers.ports" } :0 B * ^ports/ * CVSROOT/modules { LISTS="$LISTS list.cvs-committers.ports" } :0 * ^Subject:.*src/release { LISTS="$LISTS list.cvs-committers.src.release" } :0 * ? [ "$LISTS" = "" ] { LISTS="list.cvs-committers" } # This has races. This doesn't LOG new mailbox creation. DELIVER=' cat /dev/stdin > /tmp/proc.msg.$$; for i in $LISTS; do lockfile ${i}.lock; cat /tmp/proc.msg.$$ >> $i; rm -f ${i}.lock; if ! grep $i boxes/mailboxes; then echo "mailboxes ="$i >> boxes/mailboxes; fi; done; rm -f /tmp/proc.msg.$$ ' :0 | sh -c "${DELIVER}" } -- This is my .signature which gets appended to the end of my messages. To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-chat" in the body of the message
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?19990608134522.A7547>