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

Re: [JFF] "-" and "@{-1}" on various programs

From
Michael J Gruber <git@drmicha.warpmail.net>
Date
Mar 11, 2015, 12:38 UTC
Message-ID
<55003757.8090004@drmicha.warpmail.net>
In-Reply-To
<xmqqy4n4zjst.fsf@gitster.dls.corp.google.com>
Junio C Hamano venit, vidit, dixit 10.03.2015 21:20:
Show 29 quoted lines
> JFF stands for just for fun.
> 
> This is not meant to give out a model answer and is known to be
> incomplete, but I was wondering if it would be a better direction to
> allow "-" as a stand-in for "@{-1}" everywhere we allow a branch
> name, losing workarounds at the surface level we have for checkout,
> merge and revert.
> 
> The first three paths are to remove the surface workarounds that
> become unnecessary.  The one in sha1_name.c is the central change.
> 
> The change in revision.c is to allow a single "-" to be recognized
> as a potential revision name (without this change, what begins with
> "-" is either an option or an unknown option).
> 
> So you could do things like "git reset - $path" but also things like
> "git log -" after switching out of a branch.
> 
> What does not work are what needs further tweaking in revision.c
> parser.  "git checkout master && git checkout next && git log -.."
> should show what next has on top of master but I didn't touch the
> range notation so it does not work, for example.
> 
>  builtin/checkout.c |  3 ---
>  builtin/merge.c    |  3 +--
>  builtin/revert.c   |  2 --
>  revision.c         |  2 +-
>  sha1_name.c        | 57 +++++++++++++++++++++++++++++++++---------------------
>  5 files changed, 37 insertions(+), 30 deletions(-)
Like it :)

It removes the special casing and makes a shorthand available systematically. I'd say it's useful even without extending it to ranges.

Michae
Previous: Junio C HamanoNext: Junio C Hamano
Message 2 of 3 in “[JFF] "-" and "@{-1}" on various programs”
  1. Junio C HamanoMar 10, 2015
  2. Michael J GruberMar 11, 2015
  3. Junio C HamanoMar 11, 2015

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.