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

Re: [PATCH] Make "git reset" a builtin. (incomplete)

From
Johannes Schindelin <johannes.schindelin@gmx.de>
Date
Aug 23, 2007, 10:31 UTC
Message-ID
<Pine.LNX.4.64.0708231122450.20400@racer.site>
In-Reply-To
<20070823102036.GG7267@thunk.org>
Hi,
On Thu, 23 Aug 2007, Theodore Tso wrote:
Show 16 quoted lines
> On Thu, Aug 23, 2007 at 10:10:20AM +0100, Johannes Schindelin wrote:
> > > > Red herring.  The proposal was not to do nothing, but rather give git
> > > > a dedicated scripting language internal to it.
> > > 
> > > That is a really neat idea.
> > 
> > Why?  Why should just _having_ a dedicated scripting language _per se_ be 
> > a neat idea?  We do not _need_ it!  We script git in bash, perl, other 
> > people in Python, Ruby, and even Haskell.  So why should we _take away_ 
> > that freedom from others to script Git in whatever language they like 
> > most?  There is no good reason.
> 
> Users should be able to script in whatever language they want; that's
> clear.  However, what some people were talking about was an internal
> scripting language that would be used for writing git commands, as an
> alternative to an alternative future where everything gets moved to C.

And that is _exactly_ where I fail to see benefits from. You only get the full power of C by using C. You only get the full power of all open source C programmers by using C. And you only get the full flexibility, speed, name-your-own-pet-peeve using C.

Mind you, I use scripts a lot. I even have some projects where I git-added a script to add aliases which are so large as to fit half a terminal.

But we should not _force_ people to have bash or perl when they do not plan to use it themselves.

> (To accomodate those Windows users who for some silly reason refuse to 
> install Cygwin, bash, and perl on their Windows development box.  :-)

I have seen boxes where the administrators locked down everything. And Cygwin _does_ need to write the registry, and there is _no_ easy way to have two independent Cygwin installs on the same machine. This is where MinGW/MSys really shines.

Show 6 quoted lines
> So for those people who think an internal scripting language would be a 
> worthwhile way of implementing certain git commands, instead of 
> converting them all to C, my suggestion would be to "show us the code".  
> Actually create the git to LUA bindings, and then show how easily it 
> would be to rewrite a bunch of the existing git commands which are 
> currently implemented in shell in LUA instead.

And force everybody who wants to contribute to _those_ parts of Git to learn LUA? It is not about languages. It is about people. Choosing an obscure language automatically limits your most valuable resource: people.

We saw that already with filter-branch (which saw some duplicate efforts, because one developer was not comfortable with shell; we had two different programs with different suboptimal behaviours).

> But if people are just gushing over the glories of elisp and saying 
> things like *someone* should create a scripting language for git, it's 
> just going to be a waste of everyone's time.

Amen, Dscho

Previous: Theodore TsoNext: David Tweed
Message 27 of 49 in “Make "git reset" a builtin. (incomplete)”
  1. Make "git reset" a builtin. (incomplete)Carlos Rica, Aug 22, 2007
  2. David KastrupAug 22, 2007
  3. Andreas EricssonAug 22, 2007
  4. David KastrupAug 22, 2007
  5. Mike HommeyAug 22, 2007
  6. Chris ShoemakerAug 22, 2007
  7. David KastrupAug 22, 2007
  8. Nicolas PitreAug 22, 2007
  9. Johannes SchindelinAug 22, 2007
  10. David KastrupAug 22, 2007
  11. Linus TorvaldsAug 22, 2007
  12. David KastrupAug 22, 2007
  13. Linus TorvaldsAug 22, 2007
  14. David KastrupAug 22, 2007
  15. Linus TorvaldsAug 22, 2007
  16. David KastrupAug 22, 2007
  17. Linus TorvaldsAug 23, 2007
  18. Wincent ColaiutaAug 23, 2007
  19. Nicolas PitreAug 23, 2007
  20. Jon SmirlAug 23, 2007
  21. Linus TorvaldsAug 23, 2007
  22. Junio C HamanoAug 23, 2007
  23. Johannes SchindelinAug 23, 2007
  24. Reece DunnAug 22, 2007
  25. Johannes SchindelinAug 23, 2007
  26. Theodore TsoAug 23, 2007
  27. Johannes SchindelinAug 23, 2007
  28. David TweedAug 23, 2007
  29. Theodore TsoAug 23, 2007
  30. Johannes SchindelinAug 23, 2007
  31. Jon SmirlAug 23, 2007
  32. Reece DunnAug 23, 2007
  33. Alex RiesenAug 23, 2007
  34. David KastrupAug 23, 2007
  35. Alex RiesenAug 23, 2007
  36. David KastrupAug 23, 2007
  37. Nicolas PitreAug 22, 2007
  38. Johannes SchindelinAug 23, 2007
  39. Nicolas PitreAug 23, 2007
  40. Reece DunnAug 22, 2007
  41. Johannes SchindelinAug 23, 2007
  42. Robin RosenbergAug 23, 2007
  43. Nguyen Thai Ngoc DuyAug 23, 2007
  44. Matthieu MoyAug 22, 2007
  45. David KastrupAug 22, 2007
  46. Andy ParkinsAug 22, 2007
  47. Johannes SixtAug 22, 2007
  48. Alex RiesenAug 22, 2007
  49. Johannes SchindelinAug 23, 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.