Re: RFC: a plugin architecture for git extensions?
- From
Jon Seymour <jon.seymour@gmail.com>
- Date
- Apr 27, 2011, 07:15 UTC
- Message-ID
- <BANLkTi=UafJRc76ePmVXo2gF+CNVnEL41Q@mail.gmail.com>
- In-Reply-To
- <7vk4eg9rsf.fsf@alter.siamese.dyndns.org>
On Wed, Apr 27, 2011 at 3:39 PM, Junio C Hamano <gitster@pobox.com> wrote:
Show 9 quoted lines
> Jon Seymour <jon.seymour@gmail.com> writes: > >> My thoughts about this are inspired by how the node project manages >> packages with its npm package manager and also the fact that I have >> several ideas on the boil at the moment that would definitely benefit >> from a standard way to manage these concerns. > > Sounds like you have a plan ;-) >
Ok, here we go:
https://github.com/jonseymour/gpm
Anyone who violently objects to the suggested name of a package manager interface - gpm, please speak up now because it'll be easier to change now.
(And yes, gpm is intended to be an *interface*. The idea would be to allow the interface to be back-ended by different implementations depending on taste, platform etc.).
I suggest using this list for discussion, but I also think the github issue manager would be a pretty good option.
Speak up if, you see anything wrong so far!
jon.
NAME ==== gpm - a package manager for git extensions
DESCRIPTION =========== This is place holder for a proposed plugin architecture for git extensions.
The initial deliverable of the project will be a plugin architecture proposal. In parallel to this deliverable a reference plugin manager will be developed.
PRINCIPLES ========== * define a repository layout specification * define a package descriptor (using the git config syntax) * package manager agnostic repo and package specifications * perhaps define a pluggable package manager interface * support for: * existing contrib/ directory * existing git patterns for finding and using extensions * man pages * package specific configuration help * bash completions * scripts * build support: * for documentation, archives * layers * repo, package descriptors * tool interface specifications * tool implementations * global package registry and repository
INTENDED SCENARIOS ==================
Installation and Removal ------------------------ gpm install package-name | package-url | package-archive gpm remove package-name gpm update package-name gpm list installed|available|active|inactive gpm status package-name
Activation/De-activation ------------------------ gpm activate package-name gpm deactivate package-name
MAILING LIST ============ Until noted otherwise, please use the [http://dir.gmane.org/gmane.comp.version-control.git](git@vger.kernel.org) mailing list for discussions about design decisions. gpm: is suggested a good prefix for such discussions. We might also use the github issues manager to integrate and discuss suggestions, subject to agreement from the list.
AUTHOR ====== Jon Seymour