Re: If you would write git from scratch now, what would you change?
From: Jan Hudec <hidden>
Date: 2016-06-15 22:43:53
On Mon, Nov 26, 2007 at 18:11:43 +0100, David Kastrup wrote:
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.
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.
That would keep plumbing out of the hair of users and make it easier to cobble together extensions and variations with non-trivial internal dataflow. Shell scripts have also proven to be a constant hassle with regard to portability and bugs (like underquoting).
-- Jan 'Bulb' Hudec [off-list ref]
Attachments
- signature.asc [application/pgp-signature] 189 bytes