From: "Ævar Arnfjörð Bjarmason" <firstname.lastname@example.org> To: Jeff King <email@example.com> Cc: Thomas Braun <firstname.lastname@example.org>, Duy Nguyen <email@example.com>, Junio C Hamano <firstname.lastname@example.org>, Jeffrey Walton <email@example.com>, Todd Zullinger <firstname.lastname@example.org>, Git List <email@example.com>, Marc Stevens <firstname.lastname@example.org> Subject: Re: disabling sha1dc unaligned access, was Re: One failed self test on Fedora 29 Date: Tue, 12 Mar 2019 09:53:41 +0100 Message-ID: <email@example.com> (raw) In-Reply-To: <20190311182328.GB16865@sigill.intra.peff.net> On Mon, Mar 11 2019, Jeff King wrote: > On Mon, Mar 11, 2019 at 07:15:12PM +0100, Thomas Braun wrote: > >> Am 11.03.2019 um 12:58 schrieb Duy Nguyen: >> > On Mon, Mar 11, 2019 at 10:48 AM Jeff King <firstname.lastname@example.org> wrote: >> >> And AFAIK there is no good way to >> >> modify the submodule-provided content as part of the build. Why do we >> >> even have the submodule again? ;P >> > >> > Because of dogfooding of course. This is an interesting use case >> > though. I wonder if people often want to "patch" submodules like this >> > (and what we could do if that's the case) >> >> I usually do the following: >> >> - Fork the sub-project >> - Add a branch with my proposed patches >> - Update the URL and the commit of the submodule in the super-project >> >> This of course requires all users to do >> >> git submodule sync >> >> which is a bit incovenient, but works. > > The problem to me is not that the steps that a developer has to do, but > rather that we are dependent on the upstream project to make a simple > fix (which they may not agree to do, or may take a long time to do). > > Whereas if we import the content into our repo as a subtree, we are free > to hack it up as we see fit, and then occasionally pull from upstream > and reconcile the changes. Changing upstream isn't advisable in the > general case, but I think makes a lot of sense for small changes > (especially if you have the discipline to actually get the same or > similar change pushed upstream). > > In this particular case, though, the sha1dc project is pretty > responsive, so I don't think it's going to be a big deal. It just seems > like an anti-pattern in general. There's a at least a couple of aspects to this. One is whether we should have the submodule in sha1collisiondetection/. I agree that's probably a bad idea now per-se. Honestly I wasn't expecting the answer when I submitted the final patch to switch to it fully to be to the effect of submodules being too immature for the git project itself to use. So now we're effectively mid-series, and should maybe just back out. But the other is the developer social engineering question of how we strike the right trade-off when we import upstream code. I fully agree with what you've said in theory, but if we look at what's happened in practice we as a project are demonstrably not disciplined enough to manage upstream code like this without overtly perma-forking it. E.g. I gave up on updating compat/regex some time ago because of the various cross-tree patches that had ended up modifying it. Now we can't just upstream a new engine anymore. Someone needs to first go through those various modifications, upstream them one-by-one or prove they're not needed anymore (and many are portability / obscure compiler fixes, so that's hard...). The compat/regex isn't unique here, e.g. compat/poll/ is another example of this. As far as I can tell none of the people changing that code went through the process of submitting a parallel upstream fix or seeing if the issue was fixed upstream and we could just update the code we were carrying, and of course that gets progressively harder for any one contributor as our divergence grows. So even though the theory of the sha1collisiondetection/ submodule + sha1dc/ code fork is silly, perhaps we've stumbled upon some way where we at least file an upstream bug for issues we find and fix. As demonstrated by other such changes that's already leaps and bounds ahead of what we're usually doing.
next prev parent reply other threads:[~2019-03-12 8:53 UTC|newest] Thread overview: 25+ messages / expand[flat|nested] mbox.gz Atom feed top 2019-03-08 10:48 Jeffrey Walton 2019-03-08 17:43 ` Todd Zullinger 2019-03-09 12:34 ` Jeffrey Walton 2019-03-09 13:12 ` Jeffrey Walton 2019-03-11 2:00 ` Junio C Hamano 2019-03-11 2:16 ` Jeffrey Walton 2019-03-11 3:37 ` disabling sha1dc unaligned access, was " Jeff King 2019-03-11 10:40 ` Jeffrey Walton 2019-03-11 18:19 ` Jeff King 2019-03-11 11:58 ` Duy Nguyen 2019-03-11 18:15 ` Thomas Braun 2019-03-11 18:23 ` Jeff King 2019-03-12 7:27 ` Junio C Hamano 2019-03-12 10:51 ` Jeff King 2019-03-13 11:47 ` Thomas Braun 2019-03-13 15:39 ` Jeff King 2019-03-13 16:00 ` Ævar Arnfjörð Bjarmason 2019-03-12 8:53 ` Ævar Arnfjörð Bjarmason [this message] 2019-03-12 11:05 ` Jeff King 2019-03-12 12:09 ` Ævar Arnfjörð Bjarmason 2019-03-12 21:01 ` Jeff King 2019-03-12 21:06 ` [PATCH] Makefile: fix unaligned loads in sha1dc with UBSan Jeff King 2019-03-12 21:17 ` Ævar Arnfjörð Bjarmason 2019-03-12 21:19 ` Jeff King 2019-03-11 3:29 ` One failed self test on Fedora 29 Jeff King
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 List information: http://vger.kernel.org/majordomo-info.html * Reply using the --to, --cc, and --in-reply-to switches of git-send-email(1): git send-email \ --email@example.com \ --firstname.lastname@example.org \ --email@example.com \ --firstname.lastname@example.org \ --email@example.com \ --firstname.lastname@example.org \ --email@example.com \ --firstname.lastname@example.org \ --email@example.com \ --firstname.lastname@example.org \ /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
email@example.com list mirror (unofficial, one of many) This inbox may be cloned and mirrored by anyone: git clone --mirror https://public-inbox.org/git git clone --mirror http://ou63pmih66umazou.onion/git git clone --mirror http://czquwvybam4bgbro.onion/git git clone --mirror http://hjrcffqmbrq6wope.onion/git # If you have public-inbox 1.1+ installed, you may # initialize and index your mirror using the following commands: public-inbox-init -V1 git git/ https://public-inbox.org/git \ firstname.lastname@example.org public-inbox-index git Example config snippet for mirrors. Newsgroups are available over NNTP: nntp://news.public-inbox.org/inbox.comp.version-control.git nntp://ou63pmih66umazou.onion/inbox.comp.version-control.git nntp://czquwvybam4bgbro.onion/inbox.comp.version-control.git nntp://hjrcffqmbrq6wope.onion/inbox.comp.version-control.git nntp://news.gmane.io/gmane.comp.version-control.git note: .onion URLs require Tor: https://www.torproject.org/ code repositories for the project(s) associated with this inbox: https://80x24.org/mirrors/git.git AGPL code for this site: git clone https://public-inbox.org/public-inbox.git