git/list[1] front-page[2] threads[3] people[4] search[5] about
 

Re: [PATCH 0/2] Make gc a builtin.

From
Linus Torvalds <torvalds@linux-foundation.org>
Date
Mar 12, 2007, 19:14 UTC
Message-ID
<Pine.LNX.4.64.0703121202560.9690@woody.linux-foundation.org>
In-Reply-To
<20070312133612.GD4372@thunk.org>
On Mon, 12 Mar 2007, Theodore Tso wrote:
> 
> I'm not sure I understand the portability argument?  All of the
> platforms that git currently supports will handle shell scripts,
> right?  

Git "supports" MinGW, or at least wants to. And yes, you can put bash in there, but we'd be *so* much better off if we had no shell scripting at all.

Another thing I find annoying (even as a UNIX user) is that whenever I do any tracing for performance data, shell is absolutely horrid. It's *so* much nicer to do 'strace' on built-in programs that it's not even funny.

It's also sad how many performance issues we've had with shell, just because even something really simple (like a few hundred refs) is just too slow for shell scripting.

> Heck, git-commit is still a shell script, and that's a rather, ah,
> fundamental command, isn't it? 

Yeah, and that's probably my pet peeve. I'd love to see a built-in "git commit" and "git fetch". The "fetch--tool" thing in next gets rid of some of the latter (and apparently the worst performance problems), but it's sad how we have a really nice builtin "push", but our "fetch" is still mostly really hairy shell-code (not just "git-fetch.sh" itself, but "git-parse-remote.sh".

A gold star for whoever gets rid of any of of commit/clone/fetch or ls-remote

(ls-remote isn't that big or hairy, but I mention it because it's a user of "parse-remote", so making even just ls-remote built-in is probably going to help with fetch/clone eventually).

		Linus
Previous: Theodore TsoNext: Jakub Narebski
Message 12 of 15 in “Make gc a builtin.”
  1. 0/2 Make gc a builtin.James Bowes, Mar 11, 2007
  2. 1/2 run-command: Make run_command_va_opt public and add run_command_vaJames Bowes, Mar 11, 2007
  3. 2/2 Make gc a builtin.James Bowes, Mar 11, 2007
  4. Johannes SchindelinMar 11, 2007
  5. Junio C HamanoMar 12, 2007
  6. Make gc a builtin.James Bowes, Mar 12, 2007
  7. Shawn O. PearceMar 12, 2007
  8. Johannes SchindelinMar 12, 2007
  9. Theodore TsoMar 12, 2007
  10. Johannes SchindelinMar 12, 2007
  11. Theodore TsoMar 12, 2007
  12. Linus TorvaldsMar 12, 2007
  13. Jakub NarebskiMar 13, 2007
  14. Linus TorvaldsMar 13, 2007
  15. Shawn O. PearceMar 12, 2007

Read the whole thread, see it on lore, or plain text.

$ cat FOOTERMessages come from the public archive at lore.kernel.org/git, fetched every hour. The front page is chosen and written each morning by an AI editor and can be wrong; the threads themselves are the record. About and API. For agents: an MCP server at https://gitlist.dev/mcp, and any thread, story or person page as Markdown by adding .md to its URL (or sending Accept: text/markdown). Details in /llms.txt.