Re: [PATCH v2] branch: add "inherit" option for branch.autoSetupMerge
- From
Josh Steadmon <steadmon@google.com>
- Date
- Nov 15, 2021, 21:57 UTC
- Message-ID
- <YZLX08noFD0MhmIf@google.com>
- In-Reply-To
- <xmqqee8k19or.fsf@gitster.g>
On 2021.10.16 22:50, Junio C Hamano wrote:
Show 16 quoted lines
> Josh Steadmon <steadmon@google.com> writes:
>
> > Thanks for the feedback. I've added "--track=direct" and
> > "--track=inherit" flags in V3, which I'll send out shortly. I am a bit
> > skeptical of the value of having "--track=direct" when just "--track"
> > still works, but I'll leave it up to the list to decide.
>
> Ah, I assumed that with the configuration variable set to inherit,
> you'd make a command line --track to use the upstream of the fork
> point branch as the upstream of the new branch, but if your
> intention is that (1) without --track or --no-track on the command
> line, if configuration is set to inherit, the new branch will track
> the upstream of the original, and (2) with --track on the command
> line, the new branch will track the original without any "inherit"
> magic, then I agree that there is no need for a way to explicitly
> choose between --track={direct,inherit} from the command line.Yes, I intend for this to be similar to `branch.autoSetupmerge=always` such that users who prefer this behavior can set it in their global configs and then not need to remember to pass --track=inherit on the command line.
Show 14 quoted lines
> The > choice would be, for those with remote.autosetupmerge=inherit, to > use --no-track (to not track anything), --track (to track directly > the original branch), or say nothing (to inherit tracking), and for > those without that, --no-track (to not track) and --track (to track > directly) are the same but there is no way (other than "git -c > var=val") to do "inherited tracking". > > One advantage of allowing to be explicit is that you do not have to > remember (or know --- if you are visiting somebody else's repository > to help them out) how remote.autosetupmerge is configured (or > unconfigured). From the command line, without having to worry about > configured values to interfere, you can control which tracking mode > is used.