From: Motiejus Jakštys Date: Wed, 27 Apr 2011 21:29:43 GMT Subject: Re: RFC: a plugin architecture for git extensions? Message-ID: <20110427212943.GA2646@jakstys.lt> In-Reply-To: On Wed, Apr 27, 2011 at 01:36:44PM +1000, Jon Seymour wrote: > Has anyone ever given consideration to git supporting a plugin > architecture for git extensions? > How about this proposition? From the user perspective: $ cd /somewhere/might/be/home/or/project/.git/ext/ $ git clone git://github.com/jonseymour/gitwork.git What user finds in gitwork/ is totally up to maintainer. git cares about two files: .git/ext/git-work(.exe) .git/ext/git-work.1.gz $ cd gitwork; $ (c)make|./waf|scons|what_the_hell_just_produce_git-work $ git config ext.work.enabled true What git does when git is invoked: ------------------------------------------- * config.ext..enabled is true. If not, do nothing new. * if above is true, search for git-work in: ** project directory ** user home directory * if found, execute it * if not found, fallback to default mechanism (check in cmd_struct_commands, etc) Similar with man pages. Think about how Vim plugins are distributed. Vim developers assumed that users are educated enough to download the plugin and extract it to the right place. Are git users less intelligent to download & install it, especially in a case when they need an *extension*? Are you trying to kill a bird with a rock? Motiejus