git.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Jeff King <peff@peff.net>
To: Patryk Obara <patryk.obara@gmail.com>
Cc: git@vger.kernel.org, "Junio C Hamano" <gitster@pobox.com>,
	"Nguyễn Thái Ngọc Duy" <pclouds@gmail.com>,
	Johannes.Schindelin@gmx.de, sbeller@google.com,
	"brian m . carlson" <sandals@crustytoothpaste.net>,
	"Jonathan Tan" <jonathantanmy@google.com>
Subject: Re: [PATCH v2 1/1] setup: recognise extensions.objectFormat
Date: Tue, 30 Jan 2018 11:41:48 -0500	[thread overview]
Message-ID: <20180130164148.GA5053@sigill.intra.peff.net> (raw)
In-Reply-To: <e3c203f8-7971-40ce-8d9e-2dfe35f51a8a@gmail.com>

On Tue, Jan 30, 2018 at 05:30:04PM +0100, Patryk Obara wrote:

> > I don't have a strong opinion on this, but it does feel a little funny
> > to add this extension now, before we quite know what the code that uses
> > it is going to look like (or maybe we're farther along there than I
> > realize).
> 
> Code using this is already in master - in the result of overwriting
> data->hash_algo, every piece of code, that was modernised starts using
> the selected hash algorithm (through the_hash_algo) instead of hardcoded
> sha-1.

Right, that part seems pretty simple. But in the long run, is that going
to be enough for the hash transition? My impression is that the
transition document is going to require a more nuanced view than "this
is the hash algorithm for this repo".

Putting code in master is OK; we can always refactor it. But once we
add and document a user-facing config option like this, we have to
support it forever. So that's really the step I was wondering about: are
we sure this is what the user-facing config is going to look like?

> > What do we gain by doing this now as opposed to later? By the design of
> > the extension code, we should complain on older versions anyway. And by
> > doing it now we carry a small risk that it might not give us the
> > interface we want, and it will be slightly harder to paper over this
> > failed direction.
> 
> Mostly convenience for developers, who want to work on transition. There's
> no need to re-compile only for changing default hashing algorithm (which is
> useful for testing and debugging). I could carry this patch around to every
> NewHash-related branch, that I work on but it's annoying me already ;)

OK, that makes some sense to me. Even if we may end up with a more
nuanced config later, this is useful for getting the first step done:
just making a standalone NewHash repo without worrying about
interoperation with existing history.

> > I originally wrote it the other way out of an abundance of
> > backward-compatibility. After all "extension.*" doesn't mean anything in
> > format 0, and somebody _could_ have added such a config key for their
> > own purposes. But that's a pretty weak argument, and if we are going to
> > start marking some extensions as forbidden there, we might as well do
> > them all.
> 
> What about users, who are using new version of Git, but have it
> misconfigured with preciousObjects and repo format 0? That's why I decided
> to make repo format check specific to objectFormat extension (initially I
> made it generic to all extensions).

But that's sort of my point. It appears to be working, but the
prior-version safety they think they have is not there. I think we're
better off erring on the side of caution here, and letting them know
forcefully that their config is bogus.

> At the same time... there's extension.partialclone in pu and it does not
> have check on repo format.

IMHO it should (and we should just do it by enforcing it for all
extensions automatically).

-Peff

  reply	other threads:[~2018-01-30 16:41 UTC|newest]

Thread overview: 9+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
     [not found] <af22d7feb8a8448fa3953c66e69a8257460bff07.1516800711.git.patryk.obara@gmail.com>
2018-01-28  0:36 ` [PATCH v2 0/1] setup: recognise extensions.objectFormat Patryk Obara
2018-01-28  0:36   ` [PATCH v2 1/1] " Patryk Obara
2018-01-28 15:40     ` brian m. carlson
2018-01-30  1:38     ` Jeff King
2018-01-30 16:30       ` Patryk Obara
2018-01-30 16:41         ` Jeff King [this message]
2018-01-30 20:53           ` Junio C Hamano
2018-01-29 15:59   ` [PATCH v3 0/1] " Patryk Obara
2018-01-29 15:59     ` [PATCH v3 1/1] " Patryk Obara

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20180130164148.GA5053@sigill.intra.peff.net \
    --to=peff@peff.net \
    --cc=Johannes.Schindelin@gmx.de \
    --cc=git@vger.kernel.org \
    --cc=gitster@pobox.com \
    --cc=jonathantanmy@google.com \
    --cc=patryk.obara@gmail.com \
    --cc=pclouds@gmail.com \
    --cc=sandals@crustytoothpaste.net \
    --cc=sbeller@google.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).