On Tue, Jan 10, 2012 at 11:59 AM, Junio C Hamano <gitster@xxxxxxxxx> wrote: >> There's also one thing I missed in the commit message that it makes >> update head code and checkout code more independent. Update head code >> does not need to maintain our_head_points_at at the end for checkout >> anymore. > > I like that reasoning in general. The logic ought to be: > > - Learn what the remote has; > > - Combine it with --branch parameter, determine what local branch our > head _should_ point at; > > - Make our head point at it, and check it out. > > I wonder if we can somehow make the above logic more clear in the > code. Perhaps the first two could be made into a single helper function > "decide_local_branch()", and the third would be the "checkout()" function > in your patch, updated to take "const char *" parameter or something? yeah, I split the first two into update_head() but dropped it for some reasons I don't remember. That would make the main function easier to follow. I'll look at it again. -- Duy -- 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