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

Re: Git client bug with branch containing "."

From
brian m. carlson <sandals@crustytoothpaste.net>
Date
Apr 1, 2025, 21:16 UTC
Message-ID
<Z-xXsCs3Wr6NwYx1@tapette.crustytoothpaste.net>
In-Reply-To
<VI1PR04MB695864E125F3381932332BDC91AC2@VI1PR04MB6958.eurprd04.prod.outlook.com>
On 2025-04-01 at 12:19:47, Milan AJDINOVIC wrote:
Show 12 quoted lines
> What did you do before the bug happened? (Steps to reproduce your issue)
> On GitHub Enterprise server I have created a branch named: features/team1/feature./1.0/main in my repo.
> I tried to fetch the branch and switch to it.
> 
> What did you expect to happen? (Expected behavior)
> I expected for branch to be switched to:features/team1/feature./1.0/main
> What happened instead? (Actual behavior)
> I got an error: fatal: cannot lock ref 'refs/heads/features/team1/feature./1.0/main': unable to create directory for .git/refs/heads/features/team1/feature./1.0/main
> What's different between what you expected and what actually happened?
> The branch did no switch.
> Anything else you want to add:
> From my analisys the problem is because my branch have "feature." in it and Windows can not create directory with "." at the end.

I think that's correct as to why it's not working. Git by default uses the files ref backend, which stores the data in files in the repository, and in your case, Windows is unable to create that directory. That's unfortunately a limitation of Windows and we can't do anything about it.

We allow those branches because Unix systems don't have this problem and users working with Unix-only repositories might want to use them.

> git version 2.42.0.windows.2

If you use the latest release (2.49.0), you can probably switch to the experimental reftable backend using `git refs migrate --ref-format=reftable`, which will not have this problem. However, please make a backup of your repository first, since we've seen some bugs during the conversion that have caused problems, including with stashes.

-- 
brian m. carlson (they/them)
Toronto, Ontario, CA
Previous: Johannes Schindelin
Message 3 of 3 in “Git client bug with branch containing "."”
  1. Milan AJDINOVICApr 1, 2025
  2. Johannes SchindelinApr 1, 2025
  3. brian m. carlsonApr 1, 2025

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.