git.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: "Ævar Arnfjörð Bjarmason" <avarab@gmail.com>
To: Johannes Schindelin <Johannes.Schindelin@gmx.de>
Cc: "Đoàn Trần Công Danh" <congdanhqx@gmail.com>,
	"Jeff King" <peff@peff.net>,
	git@vger.kernel.org, "Phillip Wood" <phillip.wood123@gmail.com>,
	"Christian Couder" <christian@gitlab.com>,
	"Junio C Hamano" <gitster@pobox.com>
Subject: Re: [PATCH] Makefile: fix parallel build race
Date: Fri, 19 Nov 2021 08:08:11 +0100	[thread overview]
Message-ID: <211119.86ee7c4n8r.gmgdl@evledraar.gmail.com> (raw)
In-Reply-To: <nycvar.QRO.7.76.6.2111181529380.11028@tvgsbejvaqbjf.bet>


On Thu, Nov 18 2021, Johannes Schindelin wrote:

> On Thu, 18 Nov 2021, Đoàn Trần Công Danh wrote:
>
>> [Git's CMake-based build] couldn't be configured on Linux system,
>
> That was an explicit decision in
> https://lore.kernel.org/git/xmqq1rmcm6md.fsf@gitster.c.googlers.com/:
>
> 	Let's not worry about cross-platform and instead stick to Windows
> 	and nothing else for now to expedite the process.  As long as it
> 	is advertised as such, nobody would complain that it does not work
> 	on Linux or macOS.

That was said at a time when the CI didn't have a hard dependency on
this cmake integration, which as noted in the recent discussion
downthread of [1] made it so that for changes in this area you need to
maintain both the Makefile and contrib/buildsystems/CMakeLists.txt in
lockstep, least that CI is broken.

So we've created a scenario where in order to make certain changes to
git.git, you need to either go through a very painfully slow
edit/push/test cycle via the CI, with each test taking anywhere between
~5m-60m, depending on what step it might fail at. Or, install your own
copy of that proprietary OS locally.

In other areas we often don't have any hard line separating such
platform-specific code from the rest of the codebase. But for anything
else I can think of it's in its own files or ifdefs, and usually doesn't
require maintaining dual-implementations in lockstep, except if the
interface itself is changing.

Or that code is at least in a common language like C, Sh, Perl etc., and
doesn't require you to learn a new tool/language just for maintaining
the propriterary-specific portability code.

So I think it would be most welcome to get patches to
contrib/buildsystems/CMakeLists.txt to make it portable, cmake itself
is, and AFAICT the only inherently Windows-specific part of it is some
small part dealing with generating a file for VS to consume, which
presumably can be in some if/else construct within that file (I haven't
checked out Phillip Wood's portability patches).

1. https://lore.kernel.org/git/patch-1.1-bbacbed5c95-20211030T223011Z-avarab@gmail.com/

  reply	other threads:[~2021-11-19  7:29 UTC|newest]

Thread overview: 12+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2021-11-17  1:25 [PATCH] Makefile: fix parallel build race Đoàn Trần Công Danh
2021-11-17  3:18 ` Jeff King
2021-11-17  3:39   ` Mike Hommey
2021-11-17 10:21     ` Ævar Arnfjörð Bjarmason
2021-11-17 23:14   ` Johannes Schindelin
2021-11-17 23:56     ` Ævar Arnfjörð Bjarmason
2021-11-18  1:19       ` Đoàn Trần Công Danh
2021-11-18 14:36         ` Johannes Schindelin
2021-11-19  7:08           ` Ævar Arnfjörð Bjarmason [this message]
2021-11-19  7:06         ` Ævar Arnfjörð Bjarmason
2021-11-19 15:44           ` Johannes Schindelin
2021-11-19 16:48             ` Æ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=211119.86ee7c4n8r.gmgdl@evledraar.gmail.com \
    --to=avarab@gmail.com \
    --cc=Johannes.Schindelin@gmx.de \
    --cc=christian@gitlab.com \
    --cc=congdanhqx@gmail.com \
    --cc=git@vger.kernel.org \
    --cc=gitster@pobox.com \
    --cc=peff@peff.net \
    --cc=phillip.wood123@gmail.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).