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

branch --set-upstream-to unexpectedly fails with "starting point ... is no branch"

From
Marc Strapetz <marc.strapetz@syntevo.com>
Date
Nov 23, 2015, 11:04 UTC
Message-ID
<5652F2D2.3050902@syntevo.com>

There is a strange "branch --set-upstream-to" failure for "clones" which haven't been created using "git clone" but constructed using "git init", "git remote add" and "git fetch".

Following script first creates a "main" repository and then constructs the clone. Finally, in the clone branches origin/1 and origin/2 will be present, however it's not possible to invoke "git branch --set-upstream-to" for origin/2 (it works fine for origin/1).

I guess the behavior is related to following line in .git/config:
fetch = refs/heads/1:refs/remotes/origin/1

However, I don't understand what's the problem for Git here? Definitely the error "starting point 'origin/2' is not a branch" is wrong.

$ git --version git version 2.5.0.windows.1

$ cd /tmp/gittest
$ mkdir main
$ cd main
$ git init
$ touch file
$ git add file
$ git commit -m "import"
$ git branch 1
$ git branch 2
$ git branch
   1
   2
* master
$ cd /tmp/gittest
$ mkdir clone
$ cd clone
$ git init
Initialized empty Git repository in /tmp/gittest/clone/.git/
$ git remote add origin /tmp/gittest/main
$ git config remote.origin.fetch refs/heads/1:refs/remotes/origin/1
$ git fetch origin
remote: Counting objects: 3, done.
remote: Total 3 (delta 0), reused 0 (delta 0)
Unpacking objects: 100% (3/3), done.
 From /tmp/gittest/main
  * [new branch]      1          -> origin/1
$ git fetch origin refs/heads/2:refs/remotes/origin/2
 From /tmp/gittest/main
  * [new branch]      2          -> origin/2
$ git branch --no-track 2 refs/remotes/origin/2
$ git branch
   2

# HERE COMES THE STRANGE FAILURE: $ git branch --set-upstream-to=origin/2 2 fatal: Cannot setup tracking information; starting point 'origin/2' is not a branch.

# THIS WORKS AS EXPECTED: $ git branch --set-upstream-to=origin/1 2 Branch 2 set up to track remote branch 1 from origin by rebasing.

-Marc
Next: Carlos Martín Nieto
Message 1 of 5 in “branch --set-upstream-to unexpectedly fails with "starting point ... is no branch"”
  1. Marc StrapetzNov 23, 2015
  2. Carlos Martín NietoNov 23, 2015
  3. Marc StrapetzNov 23, 2015
  4. Carlos Martín NietoNov 24, 2015
  5. Marc StrapetzNov 25, 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.