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

git checkout -b refs/master origin/master

From
MMartin <me@mfriebe.de>
Date
Jul 9, 2021, 12:40 UTC
Message-ID
<71d3662c-411b-88aa-5cfc-b2f86a067507@mfriebe.de>
Just curious..

"refs/master" is allowed as local branch name (git checkout / git branch / git switch)

Is that intentionally allowed?
  git for-each-ref
6faf346455d0a024cb1edf2d64fc4c42b450c53d commit refs/heads/refs/master
  git for-each-ref --format="ref=%(refname)"
ref=refs/heads/refs/master

Especially the effect on git for-each-ref --format="ref=%(refname:lstrip=-1)" master

You only get part of the branch name. Because "lstrip" does not distinguish between the / as separator in the refs, and the "/" as part of the name.

Next: Felipe Contreras
Message 1 of 2 in “git checkout -b refs/master origin/master”
  1. MartinJul 9, 2021
  2. Felipe ContrerasJul 9, 2021

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.