Skip to contentSkip to conversation

git-branch: Actually using the current branch as default start-point

DISCUSSION Martin Nordholts 2 participants 2 messages Jun 15, 2016

lore
Share & tools
lore
#0 lore raw

Hi

The git-branch documentation states that the start-point defaults to the current branch if omitted. I interpret that to mean that

git checkout origin/somebranch
git branch newbranch

is equivalent to

git branch newbranch origin/somebranch

but that is currently not the case. If you checkout a remote branch then you are not considered to _be_ on the remote branch, so the start-point will behave as if an arbitrary commit was specified, i.e. tracking will not be setup correctly.

This is an easy patch and I have something working, I just need to finalize it. Does this sound like a sane patch to you?

Best regards,
Martin Nordholts

#1 lore raw

Hi,

Quoted 4 lines · Martin Nordholts

The git-branch documentation states that the start-point defaults to the current branch if omitted. I interpret that to mean that

git checkout origin/somebranch

This detaches the HEAD.

Quoted 1 line

git branch newbranch

This gives the detached HEAD a name.

Quoted 3 lines

is equivalent to

git branch newbranch origin/somebranch

In this case, we know exactly from which remote branch the new branch was created.

The difference?

In the former case, origin can be long gone by the time the new branch is created. And you have to make sure that once we switch away (by whatever means) from the detached HEAD, the tracking information is deleted.

All in all, your wish sounds rather fragile and thus not desirable to me.

Ciao,
Dscho

P.S.: Disclaimer skipped as we talked on IRC about it, and I am actually surprised you still think it would be a sensible idea.