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

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

 



On Fri, Feb 7, 2020 at 12:49 AM brian m. carlson
<sandals@xxxxxxxxxxxxxxxxxxxx> wrote:
>
> On 2020-02-06 at 22:55:56, Han-Wen Nienhuys via GitGitGadget wrote:
> > @@ -403,6 +417,10 @@ int init_db(const char *git_dir, const char *real_git_dir,
> >               git_config_set("receive.denyNonFastforwards", "true");
> >       }
> >
> > +     if (flags & INIT_DB_REFTABLE) {
> > +             git_config_set("extensions.refStorage", "reftable");
> > +     }
>
> This does seem like the best way to do this.  Can we get an addition to
> Documentation/technical/repository-version.txt that documents this
> extension and the values it takes?  I presume "reftable" and "files" are
> options, but it would be nice it folks didn't have to dig through the
> code to find that out.

done.

> I wonder if this might be better as --refs-backend={files|reftable}.  If
> reftable becomes the default at some point in the future, it would be
> easier to let people explicitly specify that they want a non-reftable
> version.  If we learn support for a hypothetical reftable v2 in the
> future, maybe we'd want to let folks specify that instead.

done.

> > -static struct ref_storage_be *refs_backends = &refs_be_files;
> > +static struct ref_storage_be *refs_backends = &refs_be_reftable;
>
> I'm not sure why we're making this change.  It doesn't look like the
> default is changing.

This is adding the reftable backend to the ref_storage_be linked list.

>
> > @@ -1913,7 +1916,7 @@ struct ref_store *get_submodule_ref_store(const char *submodule)
> >               goto done;
> >
> >       /* assume that add_submodule_odb() has been called */
> > -     refs = ref_store_init(submodule_sb.buf,
> > +     refs = ref_store_init(submodule_sb.buf, "files", /* XXX */
> >                             REF_STORE_READ | REF_STORE_ODB);
> >       register_ref_store_map(&submodule_ref_stores, "submodule",
> >                              refs, submodule);
> > @@ -1927,6 +1930,7 @@ struct ref_store *get_submodule_ref_store(const char *submodule)
> >
> >  struct ref_store *get_worktree_ref_store(const struct worktree *wt)
> >  {
> > +     const char *format = "files"; /* XXX */
>
> If the question is whether we still want to default to "files" as the
> default, then yes, I think we do.  Suddenly changing things would be a
> problem if for some reason someone needed to downgrade Git versions.
>
> Since we have two instances of "files" above, it might be better to
> create a #define like DEFAULT_REF_BACKEND or some such.

I did this. I stuck it in refs.h which is probably the wrong place.
Suggestions welcome.

-- 
Han-Wen Nienhuys - Google Munich
I work 80%. Don't expect answers from me on Fridays.
--

Google Germany GmbH, Erika-Mann-Strasse 33, 80636 Munich

Registergericht und -nummer: Hamburg, HRB 86891

Sitz der Gesellschaft: Hamburg

Geschäftsführer: Paul Manicle, Halimah DeLaine Prado




[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