git@vger.kernel.org mailing list mirror (one of many)
 help / color / mirror / code / Atom feed
From: "Ævar Arnfjörð Bjarmason" <avarab@gmail.com>
To: Johannes Schindelin <Johannes.Schindelin@gmx.de>
Cc: Junio C Hamano <gitster@pobox.com>, git@vger.kernel.org
Subject: Re: js/scalar, was Re: What's cooking in git.git (Oct 2021, #05; Mon, 18)
Date: Tue, 26 Oct 2021 14:20:55 +0200	[thread overview]
Message-ID: <211026.86lf2gym9u.gmgdl@evledraar.gmail.com> (raw)
In-Reply-To: <nycvar.QRO.7.76.6.2110221734530.62@tvgsbejvaqbjf.bet>


On Fri, Oct 22 2021, Johannes Schindelin wrote:

> Hi Ævar,
>
> On Fri, 22 Oct 2021, Ævar Arnfjörð Bjarmason wrote:
>
>> On Thu, Oct 21 2021, Johannes Schindelin wrote:
>>
>> > tl;dr it isn't worth your nor my time for you to focus on the build
>> > process in contrib/scalar/ at this moment.
>
> I still stand by these words, and I think you completely glanced over this
> problem. Your focus seems to lie exclusively on those "dependency
> problems". But apart from you, who cares if `libgit.a` is not rebuilt in
> obscure and rare circumstances _when building something in `contrib/`_?[...]

You glanced over and didn't reply to the "This invariant that something
must be[...]" part of the E-Mail you're replying to, which I think gets
to the crux of the issue.

I.e. you haven't answered why you actively prefer a broken build system
integration when a non-broken and less complex one is available, other
than some vague and unclear references to the effect that "it's a
contrib thing", without really explaining what that means, or why it
necessitates a broken and more complex build system.

It's not that libgit.a isn't rebuilt, that part isn't broken, it's built
by the top-level Makefile. It's that if you:

    make -C contrib/scalar

And then change anything it depends on, short of the top-level
rebuilding libgit.a it won't be re-built, so for anyone hacking on it
that Makefile is rather useless. It *does* work to do:

    make contrib/scalar/scalar

Because that uses the top-level Makefile, will inspect
contrib/scalar/.depends etc. So your patches already mostly make
contrib/scalar/Makefile redundant anyway, hence my question about (and
patches) why we can't just drop it entirely.

As an aside your commit message instructs users to run:

     make -C contrib/scalar/Makefile

But that command can't work (you either meant -f <path>, or -C <dir>).

You keep narrowly focusing on the bit where your *.o dependencies are
broken, but I've pointed out a bunch of other things that are broken,
including but not limited to: "make TAGS coccicheck check-docs install
install-doc" etc.

> [...]The code in `contrib/scalar/` is transitional.[...]

OK. But it's being proposed for merge to "master", I don't see how "we
don't expect this to stay for long" translates into "it's OK that it's
broken while it's here".
 
> Just forget about Scalar's build process. Forget about getting its CI to
> work. I have all that figured out already. It is all working as well as
> needed.

You're proposing to integrate this into git.git, so it really does
matter that it's useful to others and plays well with existing
components.

When a release of this is available we'd expect third-party packagers to
consider installing it alongside git. If that's not at all the intent
then at the very least the commit messages & documentation are sorely
lacking.

And it's not OK that some in-tree *.c code that uses various bits of
libgit.a and will break if changes to that code don't take it into
account doesn't have meaningful testing CI/integration.

E.g. I was hacking on something the other day, and since I build (my
version of) your scalar patches had a breakage due (my local changes to)
an API where scalar was the one remaining in-tree user of an API
function. Luckily I ran its tests by default, and didn't need to go out
of my way to do so.

All of the above is in the context that I've offered you patches to fix
all these issues.

I haven't sent anything but an inline WIP demo of that to the list
because we're still having this discussion where you're categorically
refusing to even consider fixes to things in your series that are
demonstrably broken.

>> > Having said that, I do appreciate your interest in this patch series, and
>> > I have suggestions at the end of this mail how we could collaborate on it
>> > in a more fruitful manner.
>
> I would still like to invite you to think along more productive lines.
> It's not about where Scalar's build mechanics are right now. It's where we
> can take _Git_ to do what Scalar already does.

That's also interesting, but right now we're not discussing that
subsequent set of patches, but your integration of scalar in-tree. Let's
fix those issues first.

  reply	other threads:[~2021-10-26 12:59 UTC|newest]

Thread overview: 13+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2021-10-19  6:48 What's cooking in git.git (Oct 2021, #05; Mon, 18) Junio C Hamano
2021-10-19 12:45 ` js/scalar, was " Johannes Schindelin
2021-10-20 13:42   ` Ævar Arnfjörð Bjarmason
2021-10-21  8:33     ` Johannes Schindelin
2021-10-22 13:43       ` Ævar Arnfjörð Bjarmason
2021-10-22 15:55         ` Johannes Schindelin
2021-10-26 12:20           ` Ævar Arnfjörð Bjarmason [this message]
2021-10-27 23:56             ` Junio C Hamano
2021-10-19 19:33 ` Johannes Sixt
2021-10-19 22:49 ` Glen Choo
2021-10-20 11:37 ` ab/config-based-hooks-2 Ævar Arnfjörð Bjarmason
2021-10-21 11:32 ` ab/only-single-progress-at-once (was: What's cooking in git.git (Oct 2021, #05; Mon, 18)) Ævar Arnfjörð Bjarmason
2021-10-27 19:26 ` What's cooking in git.git (Oct 2021, #05; Mon, 18) Emily Shaffer

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 \
    --in-reply-to=211026.86lf2gym9u.gmgdl@evledraar.gmail.com \
    --to=avarab@gmail.com \
    --cc=Johannes.Schindelin@gmx.de \
    --cc=git@vger.kernel.org \
    --cc=gitster@pobox.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.
Code repositories for project(s) associated with this public inbox

	https://80x24.org/mirrors/git.git

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 read-only IMAP folder(s) and NNTP newsgroup(s).