Thread (10 messages) flat view 10 messages, 7 authors, 2016-06-15

Re: If you would write git from scratch now, what would you change?

From: Jan Hudec <hidden>
Date: 2016-06-15 22:43:54

On Mon, Nov 26, 2007 at 21:11:41 +0100, Benoit Sigoure wrote:
On Nov 26, 2007, at 8:27 PM, Jan Hudec wrote:
quoted
On Mon, Nov 26, 2007 at 18:11:43 +0100, David Kastrup wrote:
quoted
Jakub Narebski [off-list ref] writes:
quoted
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.
quoted
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.
Perl might be good for the lower level stuff (and is indeed used for that in
git a lot), but most useful tools on top of git gather few bigish bits
(contents of whole files and such) and pass them to some application. And
this is what shell is really good at.

So yes, more direct interfaces for various languages would certainly be good,
but it would never be a full replacement for the process interface. It is
most generic and for many hacks the easiest thing to use.

-- 
						 Jan 'Bulb' Hudec [off-list ref]

Attachments

Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help