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

Re: What's cooking in git.git (Jul 2019, #06; Thu, 25)

From
Jeff King <peff@peff.net>
Date
Aug 10, 2019, 06:10 UTC
Message-ID
<20190810061006.GB25876@sigill.intra.peff.net>
In-Reply-To
<CABURp0pb4QY+Qbvn6YAtQ=bevSQW+vQXFMChyd_phtUK4P5M7w@mail.gmail.com>
On Fri, Aug 09, 2019 at 11:05:34AM -0700, Phil Hord wrote:
Show 18 quoted lines
> On Fri, Aug 9, 2019 at 10:48 AM Junio C Hamano <gitster@pobox.com> wrote:
> >
> > Jeff King <peff@peff.net> writes:
> >
> > > I don't know of any plans for checkout in particular, but I think the
> > > docs for restore/switch make it clear that it's way too early to start
> > > scripting around them:
> > >
> > >   $ git grep EXPERIMENTAL Documentation/
> > >   Documentation/git-restore.txt:THIS COMMAND IS EXPERIMENTAL. THE BEHAVIOR MAY CHANGE.
> > >   Documentation/git-switch.txt:THIS COMMAND IS EXPERIMENTAL. THE BEHAVIOR MAY CHANGE.
> >
> > Would it ever be OK to script around checkout, restore and/or switch
> > Porcelain commands?
> 
> Users who wish to get their job done will script around porcelain all
> the time.  I would be surprised if even 1% of build scripts use 'git
> checkout-index' instead of 'git checkout'.

It's even worse if you really want to switch branches, and not checkout files. You'd probably need to use symbolic-ref, read-tree, and checkout-index.

IMHO scripting around "action" commands like checkout is less bad than around "output" commands like log. The general action of "switch to this branch" is unlikely to be changed much over the years (or via config), but the output of log, etc, is.

There are no guarantees, of course, but I imagine that the tradeoff in simplicity of using git-switch versus manually reimplementing it is probably a good one for many scripts.

-Peff
Previous: Phil HordNext: Junio C Hamano
Message 23 of 27 in “What's cooking in git.git (Jul 2019, #06; Thu, 25)”
  1. Junio C HamanoJul 26, 2019
  2. Johannes SchindelinJul 26, 2019
  3. Junio C HamanoJul 26, 2019
  4. Rohit AshiwalJul 27, 2019
  5. Elijah NewrenJul 27, 2019
  6. Rohit AshiwalJul 27, 2019
  7. Elijah NewrenJul 27, 2019
  8. Carlo ArenasJul 28, 2019
  9. Taylor BlauAug 9, 2019
  10. Ariadne ConillAug 9, 2019
  11. Taylor BlauAug 9, 2019
  12. Ariadne ConillAug 9, 2019
  13. Phil HordAug 9, 2019
  14. Ariadne ConillAug 9, 2019
  15. Taylor BlauAug 9, 2019
  16. Jeff KingAug 9, 2019
  17. Phil HordAug 9, 2019
  18. Randall S. BeckerAug 9, 2019
  19. Jeff KingAug 9, 2019
  20. Randall S. BeckerAug 9, 2019
  21. Junio C HamanoAug 9, 2019
  22. Phil HordAug 9, 2019
  23. Jeff KingAug 10, 2019
  24. Junio C HamanoAug 12, 2019
  25. Randall S. BeckerAug 12, 2019
  26. Junio C HamanoAug 9, 2019
  27. Randall S. BeckerAug 9, 2019

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.