Jay Soffian <jaysoffian@xxxxxxxxx> writes: > This used to be possible on the checked out branch: > > $ git branch master --set-upstream origin/master > > Now it gives "fatal: Cannot force update the current branch." which is > broken. You should be able to setup/change the tracking information on > the checked out branch. > > It's apparently due to ci/forbid-unwanted-current-branch-update. Does git branch --set-upstream master origin/master work? If so then I wouldn't worry too much about it (your "arg then option" should be forbidden in the longer term anyway). If not, we would need to patch it. > (BTW, --set-upstream still needs to be fixed so that these mean the same > thing: > > $ git branch master --set-upstream origin/master > $ git branch --set-upstream origin/master master If we are doing anythning, I think it needs to be fixed not to allow the former, period. > .. to just allow: > > $ git branch --set-upstream origin/master > > w/o having to specify the checked-out branch. That may be a nice feature enhancement, post 1.7.7 release. I took a brief look at --set-upstream codepath, and I have to say that the implementation is totally broken with respect to an existing branch. Given $ git branch master --set-upstream origin/master it passes the exact same codepath as $ git branch master origin/master uses, only with a different "track" flag, no? That is, it calls a function that is meant to _create_ branch "master" from given branch point "origin/master", namely create_branch(). And then create_branch(), contrary to its name, is littered with "dont_change_ref" special case to work it around, depending on the value of "track". -- To unsubscribe from this list: send the line "unsubscribe git" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html