2008/8/22 Junio C Hamano [off-list ref]:
I however wonder if this is clearer.
It is :)
* "enum branch_track" was unsigned; comparing equality with -1 was Ok but
we couldn't say 0 < opts.track;
* argv[] is an array of constant strings; cannot point into it with
opts.newbranch without making the latter also a constant string.
Cleanup, but it is unrelated, isn't it?
* the logic is to strip "refs/" if there is one, "remotes/" if there is
one after that, and then strip one level after that unconditionally.
No need to look explicitly for a slash while doing the first two steps.
Maybe that should go in documentation instead of the piece I wrote