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

Re: [RFC/largely untested/PATCH] sha1_name: interpret ~n as HEAD~n

From
Jeff King <peff@peff.net>
Date
Apr 29, 2011, 22:34 UTC
Message-ID
<20110429223433.GA3434@sigill.intra.peff.net>
In-Reply-To
<6c53916752bf79178113157291fd675ead0804c9.1304092338.git.git@drmicha.warpmail.net>
On Fri, Apr 29, 2011 at 05:53:15PM +0200, Michael J Gruber wrote:
> HEAD~n is often used for rebase invocations etc. Make it use the same
> default we use in other places, i.e. ~n == HEAD~n.

Hmm. It certainly makes sense in that we often default emptiness to HEAD, but I don't think we can extend this syntax to other things. For example, seeing ~n makes me think that ^n or ^{tree} would work. But of course "^" at the beginning of a ref means something completely different. So it's not completely consistent.

Consistency-wise, I'm not sure if it makes things better or worse. Obviously we have "foo.." with an implicit HEAD. You could argue that ".." is a different operator altogether, and that any operator that is a "ref modifier" like "~" or "^" needs to have a non-implicit ref. But that gets muddier with "@{4.hours.ago}", which also takes an implicit value, except that it isn't exactly HEAD. It's the branch pointed to by HEAD.

So there really isn't a lot of consistency, I guess. It also conflicts a little with the shell's "~user" syntax, though presumably you don't have users named "1" and "2".

-Peff
Previous: Matthieu MoyNext: Sverre Rabbelier
Message 7 of 17 in “sha1_name: interpret ~n as HEAD~n”
  1. sha1_name: interpret ~n as HEAD~nMichael J Gruber, Apr 29, 2011
  2. Junio C HamanoApr 29, 2011
  3. Michael J GruberMay 1, 2011
  4. Matthieu MoyMay 1, 2011
  5. Junio C HamanoMay 1, 2011
  6. Matthieu MoyMay 1, 2011
  7. Jeff KingApr 29, 2011
  8. Sverre RabbelierApr 29, 2011
  9. Mikael MagnussonMay 7, 2011
  10. Andreas SchwabApr 29, 2011
  11. Junio C HamanoApr 30, 2011
  12. Andreas SchwabApr 30, 2011
  13. Michael J GruberMay 2, 2011
  14. Michael J GruberMay 2, 2011
  15. Junio C HamanoMay 2, 2011
  16. Michael J GruberMay 2, 2011
  17. Matthieu MoyMay 2, 2011

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.