Bug 246242

Summary: CC commit-message to maintainers
Product: Services Reporter: Mikhail Teterin <mi>
Component: Core InfrastructureAssignee: Cluster Admin <clusteradm>
Status: Closed Not Accepted    
Severity: Affects Only Me CC: philip
Priority: --- Keywords: feature
Version: unspecified   
Hardware: Any   
OS: Any   

Description Mikhail Teterin freebsd_committer freebsd_triage 2020-05-05 21:26:43 UTC
To get the commit-messages by e-mail currently, one needs to be subscribed to mailing list(s), which is like drinking from a firehose...

I propose, that whenever a commit references a file, for which a maintainer can be automatically discerned (such as when it is part of the ports-tree), the maintainer be explicitly added to the e-mail.

This would've always been useful, but is outright essential nowadays, when it is common for rather dramatic things -- like a port-removal -- to happen without any notice to the maintainer...

If the commit changes the maintainer, both the old and the new addresses should be included.
Comment 1 Philip Paeps freebsd_committer freebsd_triage 2020-05-06 05:34:52 UTC
This is not technically feasible.  Certainly not in the current Subversion world order.  It would require the post-commit script to have access a (or more than one) checked out ports trees to figure out who the maintainer is.  Shallow clones might be possible but it would still be a lot of work to run in the context of a commit.  It would be fragile too.

Subscribing to the firehose isn't that high of a burden.  Receivers can trivially filter mail they are interested in.

We might be able to revisit this in the Git world order.

Clusteradm does not have the time or the inclination to fix this for Subversion.
Comment 2 Philip Paeps freebsd_committer freebsd_triage 2020-05-06 05:39:20 UTC
(In reply to Philip Paeps from comment #1)
> Subscribing to the firehose isn't that high of a burden.  Receivers can trivially filter mail they are interested in.

Consider a sieve script as follows:

```
if anyof (
  header :regex "Sender" "owner-(doc|ports|src)-committers@freebsd\\.org",
  header :regex "Sender" "svn-(doc|ports|src)-all@freebsd\\.org" )
{ 
  if not :matches "Subject" "portname" { discard; stop; }
  fileinto "freebsd.commits.${1}"; stop;
}
```

Note: untested.  But you get the idea.
Comment 3 Mikhail Teterin freebsd_committer freebsd_triage 2020-05-21 15:21:33 UTC
(In reply to Philip Paeps from comment #1)
> It would require the post-commit script to have access a (or more than one)
> checked out ports trees to figure out who the maintainer is.

I don't understand, why this is a problem -- the script runs on the svn-server itself, all of the data is already here, locally, in textual files of known format...

Well, maybe, I give it a try here.

> It would be fragile too.

Still better than nothing :)

> We might be able to revisit this in the Git world order.

For a while it was a source of some modicum of pride for me, that my favorite software project has not jumped on the let's switch to git craze...

If this is still not decided, add my vote in favor of staying with Subversion...