Re: If you would write git from scratch now, what would you change?
- From
Benoit Sigoure <tsuna@lrde.epita.fr>
- Date
- Nov 26, 2007, 20:11 UTC
- Message-ID
- <FF804F69-3EEC-4FED-AE92-18C4F5B3645F@lrde.epita.fr>
- In-Reply-To
- <20071126192703.GB25784@efreet.light.src>
On Nov 26, 2007, at 8:27 PM, Jan Hudec wrote:
Show 28 quoted lines
> On Mon, Nov 26, 2007 at 18:11:43 +0100, David Kastrup wrote: >> Jakub Narebski <jnareb@gmail.com> writes: >> >>> If you would write git from scratch now, from the beginning, without >>> concerns for backwards compatibility, what would you change, or what >>> would you want to have changed? >> >> Get rid of plumbing at the command line level. It is confusing to > > No, please. It's extremely useful. It should be a bit more hidden, > but it's > a big advantage of git that the plumbing is available. > >> users, and command line arguments, exec calls and I/O streams are not >> efficient and reasonably typed mechanisms for the kind of operations >> done in plumbing. Instead using a good extensible portable scripting >> language (I consider Lua quite suitable in that regard, but it is >> conceivable that something with a native list type supporting easy >> sorts, merges and selections could be more efficient) and >> implementing >> plumbing in that or in C would have been preferable for creating the >> porcelain. > > POSIX shell is really the best extensible portable scripting language > available for the job. Because the whipuptitude is the most important > property and shell is simply best at one-liners. And since you use it > for regular work (running editor, compiler, git porcelain), it is the > obvious choice for whiping up a short function.
Perl seems pretty portable. If we had a decent, complete libgit, it would be easy to create bindings for various languages and script Git in other languages than Shell script.
-- Benoit Sigoure aka Tsuna EPITA Research and Development Laboratory