Subject: Re: RFC: a plugin architecture for git extensions?

From: Jonathan Nieder <[email-masked]>
Date: Thu, 28 Apr 2011 06:11:54 -0500

Hi,

Jon Seymour wrote:

> What is so  hard about:
>
>   app install plugin.
>
> Forget git. Forget git work.
>
> What is so hard about the concept of
[...]

Is it so important that the people on this list agree with you
right away that your proposal is a great idea?

You asked for comments, so people are giving them.  But typically,
the procedure might be something like:

1. person describes a problem they are solving, and perhaps a
   proposed solution

2. people on the mailing list try to help out in figuring out the
   parameters of the problem, giving relevant background about the
   tools available, and describing experiences they have had in the
   past that might help in solving it.

3. person reports on how it panned out.  If this involved changing
   git or is nicely documented, we might get a patch out of it.  If
   so:

4. people on the mailing list review the patch, considering how
   useful it might be for their own nefarious ends, potential
   downsides, and how maintainable it is.

5. at some point, some patches appear that seem to be a good idea,
   and Junio applies them.

And so forth.  Notice how at no step everyone needs to agree.

Earlier in this thread you mentioned that git needs some basic
facilities to make a prototype of a command installer possible.
But git already has those facilities.  Even if the installed commands
should not be on the path, all you need to get a "git install"
available on early adopters' machines is to put an executable at
/usr/bin/git-install or ~/bin/git-install.

So you can show people what they have missing, and once they can't
live without it, maybe they'll clamor for its inclusion in git.git
proper and distro packages.  If that is your goal, getting something
working and helping interested people to try it out (and adding it
to https://git.wiki.kernel.org/index.php/InterfacesFrontendsAndTools
when ready) comes first.

Sorry to spend so long on abstractions.  Still, hope that helps.

Regards,
Jonathan