Re: If you would write git from scratch now, what would you change?
- From
- Jan Hudec <bulb@ucw.cz>
- Date
- Nov 26, 2007, 19:27 UTC
- Message-ID
- <20071126192703.GB25784@efreet.light.src>
- In-Reply-To
- <858x4l2apc.fsf@lola.goethe.zz>
On Mon, Nov 26, 2007 at 18:11:43 +0100, David Kastrup wrote:
Show 7 quoted lines
> 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.
Show 8 quoted lines
> 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.
Show 6 quoted lines
> 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 <bulb@ucw.cz>