Re: [RFC/PATCH] Add fetch.updateHead option

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Wed, Nov 18, 2020 at 9:53 AM Junio C Hamano <gitster@xxxxxxxxx> wrote:
> Ævar Arnfjörð Bjarmason <avarab@xxxxxxxxx> writes:

> > I haven't taken much time to re-think through the patch/implications of
> > this, but I remember running into this and going through some pre-patch
> > investigation at some point.
> >
> > It's really annoying in some cases that "clone" isn't creating the same
> > state as "remote". IIRC I was doing some heuristics to figure out the
> > remote branch name etc.
> >
> > Isn't this something we can just change without an option? There were a
> > bunch of cases in clone/fetch that were different for no different
> > reasons, IIRC I patched one or two of those in the past. But I haven't
> > gone through the history of the feature and checked if it was
> > intentional.
>
> I think what Peff outlined earlier was reasonable.  "remote add -f",
> since it talks with the remote, should be able to learn where their
> HEAD points at and set it up.  "remote add" that does not talk to
> the remote cannot do so and "fetch" could help but we should not
> touch existing refs/remotes/$name/HEAD by default [*1*], as the
> symref is meant to indicate the local choice of which one of their
> branches is significant to _us_ and what "clone" does is merely to
> give it the initial value.

The new suggested behavior (fetch.updatehead = missing) is that "git
fetch" touches $remote/HEAD *only* when it doesn't exist.

So if you set $remote/HEAD manually, you would not affected.

However, that behavior is clearly not ideal in the long term, since it
seems basically nobody uses that feature.

Either way I see no argument against adding this option, and making
the default fetch.updatehead = never, which doesn't change the current
behavior at all.

> But when interacting with a remote whose choice of HEAD is always
> what the local user wants to follow, letting "git fetch" update
> refs/remotes/$name/HEAD to a newly observed value would be a welcome
> optional feature.

That would be fetch.updatehead = always.

Cheers.

-- 
Felipe Contreras




[Index of Archives]     [Linux Kernel Development]     [Gcc Help]     [IETF Annouce]     [DCCP]     [Netdev]     [Networking]     [Security]     [V4L]     [Bugtraq]     [Yosemite]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Linux SCSI]     [Fedora Users]

  Powered by Linux