From: "Ævar Arnfjörð Bjarmason" <avarab@gmail.com>
To: git@vger.kernel.org
Cc: "Junio C Hamano" <gitster@pobox.com>,
"Marc Stevens" <marc@marc-stevens.nl>,
"Michael Kebe" <michael.kebe@gmail.com>,
"Jeff King" <peff@peff.net>, "Stefan Beller" <sbeller@google.com>,
"Brandon Williams" <bmwill@google.com>,
"Ævar Arnfjörð Bjarmason" <avarab@gmail.com>
Subject: [PATCH v2 0/2] Update sha1dc from upstream & optionally make it a submodule
Date: Sat, 20 May 2017 11:54:27 +0000 [thread overview]
Message-ID: <20170520115429.12289-1-avarab@gmail.com> (raw)
In-Reply-To: <xmqqpof3srw4.fsf@gitster.mtv.corp.google.com>
On Sat, May 20, 2017 at 1:13 PM, Junio C Hamano <gitster@pobox.com> wrote:
> Ævar Arnfjörð Bjarmason <avarab@gmail.com> writes:
>
>> Replace the forked sha1dc directory with a copy of the upstream code
>> imported as a submodule. This is the exact same code as now exists in
>> the sha1dc/ directory.
>>
>> The initial reason for copy/pasting the code into sha1dc and locally
>> modifying it was that it needed to be altered to work with the git
>> project.
>>
>> The upstream project has accepted my code changes to allow us to use
>> their code as-is, see the preceding commit for details. So import the
>> code as a submodule instead, this will make it easier to keep
>> up-to-date with any upstream fixes or improvements.
>>
>> Signed-off-by: Ævar Arnfjörð Bjarmason <avarab@gmail.com>
>> ---
>> .gitmodules | 4 ++++
>> Makefile | 4 ++--
>> hash.h | 2 +-
>> sha1collisiondetection | 1 +
>> 4 files changed, 8 insertions(+), 3 deletions(-)
>> create mode 100644 .gitmodules
>> create mode 160000 sha1collisiondetection
>
> I am not sure how prepared our .travis.yml is to deal with a
> submodule, I'd prefer to have this step broken down to two step
> process.
>
> That is, [PATCH 2.1/3] first adds an otherwise unused submodule, so
> that people can optionally do "git submodule init && git submodule
> update" so that they can compare the contents of sha1dc/ that has
> been updated by [PATCH 1/3] with the up-to-date upstream. Then
> [PATCH 2.2/3] would update the Makefile and hash.h to use the code
> in the submodule.
>
> I actually would want to see us proceed even more cautiously---if
> the latter-half, i.e. [PATCH 2.2/3], is arranged so that it uses the
> new sha1collisiondetection/ only when the submodule is initialized
> and populated, and otherwise it uses sha1dc/ as before, I would feel
> a lot safer. I wouldn't be this paranoid if this "let's start using
> submodule ourselves" were done to some optional corner (like compat/
> or contrib/ somewhere), but this is the default hash function. I do
> want to have something like this to force us (and submodule folks)
> to get any kinks out, but I do not want to see many people not even
> be able to build while this new arrangement is eased in. Once
> people are comfortable with the new arrangement to use code from
> submodule, we can then take [PATCH 3/3] to remove the old sha1dc/
> directory and the migration will be complete.
Makes sense to take it slow. Hopefully this addresses your comments. I
dropped the 3rd patch to remove sha1dc/ and the 2nd patch adds
sha1collisiondetection/ as submodule, but it's not used unless you
specify DC_SHA1_SUBMODULE in addition to DC_SHA1.
Both patches should be safe to include & not cause any disruption, but
now those interested in making the submodule experience in git.git
better can init/update & set DC_SHA1_SUBMODULE=Y to play with it.
Note that both patches update to a newer version of the upstream
code. I sent them another pull request with some cleanups, one of
which is to ignore .depends in their .gitignore file.
> I also am not very happy with .gitmodules pointing at a single point
> of failure. It would be nice if you can arrange a couple of mirrors
> and have a comment in .gitmodules file to tell folks that they can
> use these alternates by insteadOf or some other mechanism.
I liked the suggestion to make the URL a relative path, but this would
require you to maintain a mirror in the same places you push git.git
to, is that something you'd be willing to do?
For now having no-mirror isn't a big issue with my new 2/2 since it'se
something you have to opt-in to with a build flag, which I suspect
only I/Brandon/Stefan & a few others will use.
Ævar Arnfjörð Bjarmason (2):
sha1dc: update from upstream
sha1dc: optionally use sha1collisiondetection as a submodule
.gitmodules | 4 +++
Makefile | 21 +++++++++++-
hash.h | 4 +++
sha1collisiondetection | 1 +
sha1dc/sha1.c | 91 +++++++++++++++++++++++++++++++++-----------------
sha1dc/sha1.h | 90 ++++++++++++++++++++++---------------------------
sha1dc/ubc_check.c | 13 ++++++--
sha1dc/ubc_check.h | 14 ++++++--
sha1dc_git.c | 24 +++++++++++++
sha1dc_git.h | 19 +++++++++++
10 files changed, 193 insertions(+), 88 deletions(-)
create mode 100644 .gitmodules
create mode 160000 sha1collisiondetection
create mode 100644 sha1dc_git.c
create mode 100644 sha1dc_git.h
--
2.13.0.303.g4ebf302169
next prev parent reply other threads:[~2017-05-20 11:54 UTC|newest]
Thread overview: 20+ messages / expand[flat|nested] mbox.gz Atom feed top
2017-05-18 21:28 [PATCH 0/3] Update sha1dc from upstream & optionally make it a submodule Ævar Arnfjörð Bjarmason
2017-05-18 21:28 ` [PATCH 1/3] sha1dc: update from upstream Ævar Arnfjörð Bjarmason
2017-05-18 21:28 ` [PATCH 2/3] sha1dc: use sha1collisiondetection as a submodule Ævar Arnfjörð Bjarmason
2017-05-20 11:13 ` Junio C Hamano
2017-05-20 11:54 ` Ævar Arnfjörð Bjarmason [this message]
2017-05-22 22:27 ` [PATCH v2 0/2] Update sha1dc from upstream & optionally make it " Junio C Hamano
2017-05-22 22:48 ` Stefan Beller
2017-05-23 3:22 ` Junio C Hamano
2017-05-23 10:55 ` Ævar Arnfjörð Bjarmason
2017-05-23 13:06 ` Junio C Hamano
2017-05-25 10:44 ` Ævar Arnfjörð Bjarmason
2017-05-25 23:31 ` Junio C Hamano
2017-05-20 11:54 ` [PATCH v2 1/2] sha1dc: update from upstream Ævar Arnfjörð Bjarmason
2017-05-20 11:54 ` [PATCH v2 2/2] sha1dc: optionally use sha1collisiondetection as a submodule Ævar Arnfjörð Bjarmason
2017-05-22 1:33 ` Junio C Hamano
2017-05-22 2:48 ` Junio C Hamano
2017-05-22 8:27 ` Ævar Arnfjörð Bjarmason
2017-05-22 8:48 ` Junio C Hamano
2017-05-25 10:47 ` [PATCH 2/3] sha1dc: " Ævar Arnfjörð Bjarmason
2017-05-18 21:28 ` [PATCH 3/3] sha1dc: remove the unused sha1dc/ directory Ævar Arnfjörð Bjarmason
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=20170520115429.12289-1-avarab@gmail.com \
--to=avarab@gmail.com \
--cc=bmwill@google.com \
--cc=git@vger.kernel.org \
--cc=gitster@pobox.com \
--cc=marc@marc-stevens.nl \
--cc=michael.kebe@gmail.com \
--cc=peff@peff.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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.