Thread (4 messages) flat view 4 messages, 3 authors, 2016-06-15

Re: [PATCH v4] Introduce %<branch> as shortcut to the tracked branch

From: Junio C Hamano <hidden>
Date: 2016-06-15 22:46:26

Junio C Hamano [off-list ref] writes:
Just be honest and say "You may have a branch whose name begins with a '%'
and you cannot refer to it anymore in certain contexts.  Too bad.  Don't
do it next time you create a new branch".  I _can_ buy that argument.

It however asks for a sane escape hatch.  You cannot "fix" such branch
names in most obvious ways (if you could, that would be a bug in this %
feature).

 (1) git branch -m %master percent-master

     We would end up renaming what master tracks to new name.

 (2) git branch percent-master refs/heads/%master; git branch -d %master

     The first part is a good try, but the latter deletes what master
     tracks.

"git update-ref -d refs/heads/%master" needs to replace the second step of
the latter.
A naïve question.

Has nobody suggested to use a really illegal characters such as ':'
instead?  After all, we are not talking something that you can use in
refspecs but another way to spell branch names.

Alternatively, '~master' may have a nice connotation that means "where
master calls its home".

I haven't looked at the patch deeply yet, but what does the failure case
do?  I think we should die() if %master is asked for and master is not
merging from anywhere by default (similarly, if @{-4} is asked and we
haven't switched that many times, we should die(), although I do not
remember how I coded that codepath---I presume it's the same codepath you
are touching with this round).
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help