Nguyễn Thái Ngọc Duy [off-list ref] writes:
I'm not entirely sure about this chunk
+ if (opts->track != BRANCH_TRACK_UNSPECIFIED) {
+ if (opts->new_orphan_branch)
+ die(_("%s cannot be used with %s"), "--orphan", "-t");
+ if (opts->force_detach)
+ die(_("%s cannot be used with %s"), "--detach", "-t");
+ } else
+ opts->track = git_branch_track;
If we don't want -t and --orphan/--detach together, then we probably should ignore
branch.autosetupmerge when --orphan/--detach is specified.
Yeah, I agree.
I did not unify new_branch, new_branch_force and new_orphan_branch.
They touch other parts of the code and should probably be done
separately.
That sounds like a very sensible decision.