unofficial mirror of emacs-devel@gnu.org 
 help / color / mirror / code / Atom feed
* Sending diffs of `elpa' to the respective maintainers
@ 2012-03-20 20:38 Stefan Monnier
  2012-03-21 12:40 ` Stefan Monnier
  2012-04-03 20:36 ` Stefan Monnier
  0 siblings, 2 replies; 14+ messages in thread
From: Stefan Monnier @ 2012-03-20 20:38 UTC (permalink / raw)
  To: emacs-devel

A while ago I mentioned that I think it's important to setup some email
filter that will automatically send a copy of the emacs-elpa-diffs email
to the maintainer of the corresponding package.

Has anyone had time to look into that?  If not, could someone take on
that task?

It shouldn't be that hard: maintain a small table matching files to
maintainer's email addresses, and then filter the email from
emacs-elpa-diffs and redirect them as appropriate.

The same could be done for Emacs's bundled packages, but the
maintainership there is often a mot more murky, so I'd rather limit it
to `elpa' for now (where we should enforce that every package comes with
a "maintainer email address").


        Stefan



^ permalink raw reply	[flat|nested] 14+ messages in thread

* Re: Sending diffs of `elpa' to the respective maintainers
  2012-03-20 20:38 Sending diffs of `elpa' to the respective maintainers Stefan Monnier
@ 2012-03-21 12:40 ` Stefan Monnier
  2012-04-03 20:36 ` Stefan Monnier
  1 sibling, 0 replies; 14+ messages in thread
From: Stefan Monnier @ 2012-03-21 12:40 UTC (permalink / raw)
  To: emacs-devel

> It shouldn't be that hard: maintain a small table matching files to
> maintainer's email addresses, and then filter the email from
> emacs-elpa-diffs and redirect them as appropriate.

BTW, the same script could probably detect when a new package is
installed and post a corresponding announcement on gnu.emacs.sources.


        Stefan



^ permalink raw reply	[flat|nested] 14+ messages in thread

* Re: Sending diffs of `elpa' to the respective maintainers
  2012-03-20 20:38 Sending diffs of `elpa' to the respective maintainers Stefan Monnier
  2012-03-21 12:40 ` Stefan Monnier
@ 2012-04-03 20:36 ` Stefan Monnier
  2012-04-03 20:52   ` Bastien
  2012-04-03 21:26   ` Glenn Morris
  1 sibling, 2 replies; 14+ messages in thread
From: Stefan Monnier @ 2012-04-03 20:36 UTC (permalink / raw)
  To: emacs-devel

> Has anyone had time to look into that?  If not, could someone take on
> that task?

Ping!


        Stefan



^ permalink raw reply	[flat|nested] 14+ messages in thread

* Re: Sending diffs of `elpa' to the respective maintainers
  2012-04-03 20:36 ` Stefan Monnier
@ 2012-04-03 20:52   ` Bastien
  2012-04-03 21:26   ` Glenn Morris
  1 sibling, 0 replies; 14+ messages in thread
From: Bastien @ 2012-04-03 20:52 UTC (permalink / raw)
  To: Stefan Monnier; +Cc: emacs-devel

Stefan Monnier <monnier@IRO.UMontreal.CA> writes:

>> Has anyone had time to look into that?  If not, could someone take on
>> that task?
>
> Ping!

Double-ping!  

See my not-so-different request in my last email: sending diffs 
related to a module (say, Org) to the maintainer of the module.

-- 
 Bastien



^ permalink raw reply	[flat|nested] 14+ messages in thread

* Re: Sending diffs of `elpa' to the respective maintainers
  2012-04-03 20:36 ` Stefan Monnier
  2012-04-03 20:52   ` Bastien
@ 2012-04-03 21:26   ` Glenn Morris
  2012-04-03 22:06     ` Glenn Morris
  1 sibling, 1 reply; 14+ messages in thread
From: Glenn Morris @ 2012-04-03 21:26 UTC (permalink / raw)
  To: Stefan Monnier; +Cc: emacs-devel

Stefan Monnier wrote:

> Ping!

Just in case you think no-one is listening, I might look at this after
24.1 is released. But the latter seems more important to me.

(A python fan could probably write a bzr plugin for this.)



^ permalink raw reply	[flat|nested] 14+ messages in thread

* Re: Sending diffs of `elpa' to the respective maintainers
  2012-04-03 21:26   ` Glenn Morris
@ 2012-04-03 22:06     ` Glenn Morris
  2012-04-28  6:49       ` Glenn Morris
  0 siblings, 1 reply; 14+ messages in thread
From: Glenn Morris @ 2012-04-03 22:06 UTC (permalink / raw)
  To: Stefan Monnier; +Cc: emacs-devel

Glenn Morris wrote:

> (A python fan could probably write a bzr plugin for this.)

For more details, see
http://doc.bazaar.canonical.com/development/en/user-guide/hooks.html

I was thinking of a post_pull hook. Presumably (...) these can access
the list of modified files brought in by a pull, compare the file names
against an external file that maps elpa packages to maintainers, and
send out a "your file has changed" notice. Then someone with a checkout
of the Emacs elpo repo could run bzr pull via cron.

An alternative is to write something that parses the "modified" section
of an emacs-diffs email to extract the file names, then does the same
thing. Invoked via procmail or whatever.



^ permalink raw reply	[flat|nested] 14+ messages in thread

* Re: Sending diffs of `elpa' to the respective maintainers
  2012-04-03 22:06     ` Glenn Morris
@ 2012-04-28  6:49       ` Glenn Morris
  2012-04-28 20:42         ` Stefan Monnier
  0 siblings, 1 reply; 14+ messages in thread
From: Glenn Morris @ 2012-04-28  6:49 UTC (permalink / raw)
  To: Stefan Monnier; +Cc: emacs-devel


I added something for this to the elpa admin/ directory; have a look.
I could easily run it from my procmailrc on fencepost, but perhaps it
would be better to use a dedicated account on elpa.gnu.org.
It needs to be subscribed to the elpa-diffs mailing list, and to have a
procmailrc of the form given in the script's commentary. Also, you
probably want to add more lines to maintainers.txt (don't know if you
want it to be opt-in or opt-out).



^ permalink raw reply	[flat|nested] 14+ messages in thread

* Re: Sending diffs of `elpa' to the respective maintainers
  2012-04-28  6:49       ` Glenn Morris
@ 2012-04-28 20:42         ` Stefan Monnier
  2012-05-04  6:55           ` Glenn Morris
  0 siblings, 1 reply; 14+ messages in thread
From: Stefan Monnier @ 2012-04-28 20:42 UTC (permalink / raw)
  To: Glenn Morris; +Cc: emacs-devel

> I added something for this to the elpa admin/ directory; have a look.

Thanks.  Sounds like a good start.  It would be good to change it so it
manages the maintfile itself.  Or else couple it with a cron job that
builds the maintfile.

> I could easily run it from my procmailrc on fencepost, but perhaps it
> would be better to use a dedicated account on elpa.gnu.org.

elpa.gnu.org sounds like a natural choice, indeed.

> Also, you probably want to add more lines to maintainers.txt (don't
> know if you want it to be opt-in or opt-out).

Definitely "opt-out".  And a missing maintainer data should be treated
as an error (i.e. tho I guess it would be the cron job's duty to
detect/handle it).  I.e. we need to distinguish "missing maintainer
data" from "maintainer decided not to want it".
I'd guess the "opt-out" would be a separate list of "opt-out email
addresses".


        Stefan





^ permalink raw reply	[flat|nested] 14+ messages in thread

* Re: Sending diffs of `elpa' to the respective maintainers
  2012-04-28 20:42         ` Stefan Monnier
@ 2012-05-04  6:55           ` Glenn Morris
  2012-05-04 18:08             ` Stefan Monnier
  0 siblings, 1 reply; 14+ messages in thread
From: Glenn Morris @ 2012-05-04  6:55 UTC (permalink / raw)
  To: Stefan Monnier; +Cc: emacs-devel

Stefan Monnier wrote:

> It would be good to change it so it manages the maintfile itself. Or
> else couple it with a cron job that builds the maintfile.

That's easily done. Just need a thing that parses packages/*.el for
"Maintainer" or "Author" headers. I suggest doing it via cron, so that
it is not necessary to scan all packages on every commit. Need to watch
for changed addresses though, and need to undo any address munging
people might have used (or require them not to do so). The only issuse I
see is if a new package is installed and then a change is committed very
soon after, before the maintfile gets updated. Maybe updating the
maintfile should be part of the process of installing a new package.

Maybe someone on this list will feel inspired to write this piece...

> as an error (i.e. tho I guess it would be the cron job's duty to
> detect/handle it).  I.e. we need to distinguish "missing maintainer
> data" from "maintainer decided not to want it".
> I'd guess the "opt-out" would be a separate list of "opt-out email
> addresses".

I'd suggest just commenting out the relevant line in the maintainers
file.



^ permalink raw reply	[flat|nested] 14+ messages in thread

* Re: Sending diffs of `elpa' to the respective maintainers
  2012-05-04  6:55           ` Glenn Morris
@ 2012-05-04 18:08             ` Stefan Monnier
  2012-05-23  7:41               ` Glenn Morris
  0 siblings, 1 reply; 14+ messages in thread
From: Stefan Monnier @ 2012-05-04 18:08 UTC (permalink / raw)
  To: Glenn Morris; +Cc: emacs-devel

>> It would be good to change it so it manages the maintfile itself.
>> Or else couple it with a cron job that builds the maintfile.
> That's easily done. Just need a thing that parses packages/*.el for
> "Maintainer" or "Author" headers.  I suggest doing it via cron, so that
> it is not necessary to scan all packages on every commit.  Need to watch
> for changed addresses though, and need to undo any address munging
> people might have used (or require them not to do so).

No need: just rebuild the file from scratch each time.

> The only issuse I see is if a new package is installed and then
> a change is committed very soon after, before the maintfile gets
> updated. Maybe updating the maintfile should be part of the process of
> installing a new package.

Maybe if the maintainer address is not found, the forwarding script
should trigger a refresh of the maintainer list.

> Maybe someone on this list will feel inspired to write this piece...

Hopefully.

>> as an error (i.e. tho I guess it would be the cron job's duty to
>> detect/handle it).  I.e. we need to distinguish "missing maintainer
>> data" from "maintainer decided not to want it".
>> I'd guess the "opt-out" would be a separate list of "opt-out email
>> addresses".
> I'd suggest just commenting out the relevant line in the maintainers
> file.

Not sure what you mean, but in any case, we can hope that noone will
want to opt-out, so we may never need to solve this problem.


        Stefan



^ permalink raw reply	[flat|nested] 14+ messages in thread

* Re: Sending diffs of `elpa' to the respective maintainers
  2012-05-04 18:08             ` Stefan Monnier
@ 2012-05-23  7:41               ` Glenn Morris
  2012-05-23 14:28                 ` Stefan Monnier
  2012-05-23 16:15                 ` Glenn Morris
  0 siblings, 2 replies; 14+ messages in thread
From: Glenn Morris @ 2012-05-23  7:41 UTC (permalink / raw)
  To: Stefan Monnier; +Cc: emacs-devel

Stefan Monnier wrote:

>> Maybe someone on this list will feel inspired to write this piece...
>
> Hopefully.

Apparently not.

I implemented:

1) --create; to scan the packages directory and write all recognizable
   maintainers to a file. Eg in the admin/ directory, try:

./forward-diffs.py --create -p ../packages -m maint.txt

No need to keep maint.txt in version control.

2) If a changed file has an unknown maintainer, it will scan the file
for the maintainer and if found add it to the maintainer file.
(So the maintainer file isn't really needed, but it makes things a
little faster.)


3) opt-out through an override file, overmaint.txt, where you can use
"nomail" for maintainer.


"Someone" needs to actually put it into use.

I suggest running --create once an hour or somesuch from cron, and the
normal mode of operation from procmail as previously suggested.

"Someone" also needs to ensure all packages have recognizable maintainer
emails. (DOT AT obfuscation is handled.) Several do not (eg company).



^ permalink raw reply	[flat|nested] 14+ messages in thread

* Re: Sending diffs of `elpa' to the respective maintainers
  2012-05-23  7:41               ` Glenn Morris
@ 2012-05-23 14:28                 ` Stefan Monnier
  2012-05-23 16:15                 ` Glenn Morris
  1 sibling, 0 replies; 14+ messages in thread
From: Stefan Monnier @ 2012-05-23 14:28 UTC (permalink / raw)
  To: Glenn Morris; +Cc: emacs-devel

> 2) If a changed file has an unknown maintainer, it will scan the file
> for the maintainer and if found add it to the maintainer file.
> (So the maintainer file isn't really needed, but it makes things a
> little faster.)
> 3) opt-out through an override file, overmaint.txt, where you can use
> "nomail" for maintainer.

Thank you very much.

> "Someone" needs to actually put it into use.

Aha!


        Stefan



^ permalink raw reply	[flat|nested] 14+ messages in thread

* Re: Sending diffs of `elpa' to the respective maintainers
  2012-05-23  7:41               ` Glenn Morris
  2012-05-23 14:28                 ` Stefan Monnier
@ 2012-05-23 16:15                 ` Glenn Morris
  2012-05-23 21:56                   ` Glenn Morris
  1 sibling, 1 reply; 14+ messages in thread
From: Glenn Morris @ 2012-05-23 16:15 UTC (permalink / raw)
  To: Stefan Monnier; +Cc: emacs-devel


Other things I should add:

Allow directories to have maintainers, which will be used if there is no
maintainer listed for a particular file in said directory.

Optional --prefix ... argument, defaulting to "packages/". Changing this
would allow it to be used with non-elpa branches.



^ permalink raw reply	[flat|nested] 14+ messages in thread

* Re: Sending diffs of `elpa' to the respective maintainers
  2012-05-23 16:15                 ` Glenn Morris
@ 2012-05-23 21:56                   ` Glenn Morris
  0 siblings, 0 replies; 14+ messages in thread
From: Glenn Morris @ 2012-05-23 21:56 UTC (permalink / raw)
  To: Stefan Monnier; +Cc: emacs-devel

Glenn Morris wrote:

> Allow directories to have maintainers, which will be used if there is no
> maintainer listed for a particular file in said directory.
>
> Optional --prefix ... argument, defaulting to "packages/". Changing this
> would allow it to be used with non-elpa branches.

Implemented. Should be usable for emacs-diffs mails as well now.
Something like:

forward-diffs.py -p /path/to/trunk -m maints.txt --no-scan --prefix ""

where maints.txt contains eg:

lisp/org     foo@example.com



^ permalink raw reply	[flat|nested] 14+ messages in thread

end of thread, other threads:[~2012-05-23 21:56 UTC | newest]

Thread overview: 14+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2012-03-20 20:38 Sending diffs of `elpa' to the respective maintainers Stefan Monnier
2012-03-21 12:40 ` Stefan Monnier
2012-04-03 20:36 ` Stefan Monnier
2012-04-03 20:52   ` Bastien
2012-04-03 21:26   ` Glenn Morris
2012-04-03 22:06     ` Glenn Morris
2012-04-28  6:49       ` Glenn Morris
2012-04-28 20:42         ` Stefan Monnier
2012-05-04  6:55           ` Glenn Morris
2012-05-04 18:08             ` Stefan Monnier
2012-05-23  7:41               ` Glenn Morris
2012-05-23 14:28                 ` Stefan Monnier
2012-05-23 16:15                 ` Glenn Morris
2012-05-23 21:56                   ` Glenn Morris

Code repositories for project(s) associated with this public inbox

	https://git.savannah.gnu.org/cgit/emacs.git

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).