Re: [PATCH v2 5/5] Reftable support for git-core

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

 



On Wed, Jan 29, 2020 at 10:43:11AM -0800, Junio C Hamano wrote:

> Jeff King <peff@xxxxxxxx> writes:
> 
> > Making "refs" a file instead of a directory does work nicely, as any
> > attempts to read or write would get ENOTDIR. And we can fool
> > is_git_directory() as long as it's marked executable. That's OK on POSIX
> > systems, but I'm not sure how it would work on Windows (or maybe it
> > would work just fine, since we presumably just say "yep, everything is
> > executable").
> >
> > So perhaps that's enough, and what we put in HEAD won't matter (since
> > nobody will be able to write into refs/ anyway).
> 
> I wonder if it would help to take the "looser repository detection"
> code alone and have it in a release, way before the rest of the
> reftable topic is ready.  Then by the time a repository created by a
> reftable-enabled Git appears on people's disks, all the older
> versions of Git that are still in people's hands would at least know
> that it is a repository supported by future Git that they themselves
> do not know how to handle, stop repository discovery correctly and
> refrain from damaging the repository with an extension unknown to
> them?

That helps, but it just slightly expands the window where we do the
right thing. I.e., in a rollout like this:

  1. Status quo: we only consider it a repo if "refs/" is executable

  2. We introduce a version of Git that can read and write reftables.

  3. We flip reftables support on by default.

Then any version of git after step 2 is fine. It's the ones from step 1
and older we care about. And there's probably some time between steps 2
and 3 to let the new versions percolate, shake out bugs, etc.

Adding a new step 1.5, "looser repository detection" expands the window
of "good" versions by however long it takes to go from step 1.5 to step
2. But I expect that to be much smaller than the window between 2 and 3,
so I'm not sure it makes a meaningful impact.

(Of course people who voluntarily turn on the feature as soon as they
get hold of a step 2 version have no window at all, but presumably early
adopters are OK with the risk).

-Peff



[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