Re: If you would write git from scratch now, what would you change?
- From
David Kastrup <dak@gnu.org>
- Date
- Nov 26, 2007, 17:11 UTC
- Message-ID
- <858x4l2apc.fsf@lola.goethe.zz>
- In-Reply-To
- <200711252248.27904.jnareb@gmail.com>
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 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.
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).
-- David Kastrup, Kriemhildstr. 15, 44793 Bochum