On Tue, Aug 2, 2011 at 9:33 AM, Junio C Hamano <gitster@xxxxxxxxx> wrote: > Jon Seymour <jon.seymour@xxxxxxxxx> writes: > >> On Tue, Aug 2, 2011 at 3:33 AM, Junio C Hamano <gitster@xxxxxxxxx> wrote: >>> Jon Seymour <jon.seymour@xxxxxxxxx> writes: >>> >>>> It might become more important if someone ever writes a tool that does >>>> a bisection on the user's behalf. In this case, aborting the tool >>>> might leave the HEAD in, what appears to the user, a confused state. >> ... >> In this hypothetical additional series, are you happy for >> --no-checkout to become a synonym for --update-ref=HEAD in the manner >> of v8? From a technical perspective, it doesn't seem necessary to >> duplicate the state variables and parameters. > > Well, from a technical perspective, which ref is to be updated is an > option that is valid _only_ under no-checkout mode, and no-checkout mode > could be using HEAD, so I think you would need two variables. One for > "what mode are we running", and the other that is only valid under "we are > in no-checkout mode" that says "we update BISECT_HEAD". > > If no-checkout mode _never_ updates HEAD, because the normal mode _always_ > updates HEAD, you could reduce them into a single variable (i.e. if we are > updating HEAD then we are in normal mode, otherwise we are in no-checkout > mode). I actually have a mild suspicion that the no-checkout mode may > turn out to be too confusing for people if it by default updates HEAD, and > we may want to have it update something that is not HEAD by default (or > forbid --update-ref from specifying HEAD), so if that turns out to be the > approach we are going to proceed, we _might_ end up needing only one > variable, but I do not think we know it just yet. At least I don't. > How about in the current series, I change the option parsed by bisect--helper.c to be: --bisect-mode=checkout|update-ref The porcelain option can still be --no-checkout (or should it be --bisect-mode too?). The porcelain will maintain a state variable called (rather than BISECT_NO_CHECKOUT). BISECT_MODE Then, the next series can add a --bisect-head option (instead of --update-ref) to allow the head to be varied (defaulting to BISECT_HEAD) if not specified. Sound ok? jon. -- 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