From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mp10.migadu.com ([2001:41d0:303:e224::]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)) by ms8.migadu.com with LMTPS id iK15LVTedWW5nwAAG6o9tA:P1 (envelope-from ) for ; Sun, 10 Dec 2023 16:50:44 +0100 Received: from aspmx1.migadu.com ([2001:41d0:303:e224::]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)) by mp10.migadu.com with LMTPS id iK15LVTedWW5nwAAG6o9tA (envelope-from ) for ; Sun, 10 Dec 2023 16:50:44 +0100 X-Envelope-To: larch@yhetil.org Authentication-Results: aspmx1.migadu.com; dkim=pass header.d=gmail.com header.s=20230601 header.b=Q+kfUO7N; spf=pass (aspmx1.migadu.com: domain of "guix-devel-bounces+larch=yhetil.org@gnu.org" designates 209.51.188.17 as permitted sender) smtp.mailfrom="guix-devel-bounces+larch=yhetil.org@gnu.org"; dmarc=pass (policy=none) header.from=gmail.com ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=yhetil.org; s=key1; t=1702223444; h=from:from:sender:sender:reply-to:subject:subject:date:date: message-id:message-id:to:to:cc:cc:mime-version:mime-version: content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references:list-id:list-help: list-unsubscribe:list-subscribe:list-post:dkim-signature; bh=mV1lVD/O/6MA4YncO8CRvsZoV/GZ63iRmPtlXoX6eGY=; b=RatalF0jHF/92Z9XUC0UmG+k4sd1bWrzUZonFr6hIgGmOKOD7s25P++7q7GVMCWWzGs/ed XRIAXJ8ux/qosH2sq6QMRL1jSgpi2oHOzqYVEyqIxXOqsfHn6TIiZqNhToxAiiuuJ5Zqeg 4ZKS6p5Axx16/1ShdvnxjAKszbv0zfc/AVOZ7EqAhUGdf79dJT2li/FCCMweTYM7YJZlQB tHv5Z7gdFChoyjuAOxLYpI1RbLhiOqbTh4p/+B7wVwOGjjcjBYDMBV6GCcuaxRdGyIQrj3 qfc45SabChObnXQGQUWhM2V4u53Ele8DGlUC30rorDz1tL2etsB4Roq0owxsbw== ARC-Seal: i=1; s=key1; d=yhetil.org; t=1702223444; a=rsa-sha256; cv=none; b=r26xfq3QTTx6OG0djIv5a7JJxNNPwuV2/j/xM3t8YTmSTiI1gqbBlwCB/xmdlGriGvzO0a kT28ki8JUpdr0vIQeVc7NoC2CTbQRePxJWedKtJQRrHCnBdNVJ8mS/JmL5CqAYepaL2bYZ wENLocnoJV1MhP8htTDiKTW7vLrZXw3uWK21ET37SdJbRLaIbfvUkR0XI0ERqTI/oRxMhn O1XOsJqks779yKbKOuoatfl+UGSF2dlWCz3waRpDGRDHfn8CeNdcxJXGuvm83e2qrn6Njz IUdWR+uC8ovbyBeEwGyUdKBRJ/BpQeeoKhcqINSMXfPcSWo4qsa3EiukX9r+2g== ARC-Authentication-Results: i=1; aspmx1.migadu.com; dkim=pass header.d=gmail.com header.s=20230601 header.b=Q+kfUO7N; spf=pass (aspmx1.migadu.com: domain of "guix-devel-bounces+larch=yhetil.org@gnu.org" designates 209.51.188.17 as permitted sender) smtp.mailfrom="guix-devel-bounces+larch=yhetil.org@gnu.org"; dmarc=pass (policy=none) header.from=gmail.com Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by aspmx1.migadu.com (Postfix) with ESMTPS id 7E705664E0 for ; Sun, 10 Dec 2023 16:50:44 +0100 (CET) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1rCM4a-0005de-Bw; Sun, 10 Dec 2023 10:50:29 -0500 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1rCM4T-0005d8-D5 for guix-devel@gnu.org; Sun, 10 Dec 2023 10:50:21 -0500 Received: from mail-ed1-x543.google.com ([2a00:1450:4864:20::543]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1rCM4R-0005Fk-IX for guix-devel@gnu.org; Sun, 10 Dec 2023 10:50:21 -0500 Received: by mail-ed1-x543.google.com with SMTP id 4fb4d7f45d1cf-54cde11d0f4so5111999a12.2 for ; Sun, 10 Dec 2023 07:50:18 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1702223416; x=1702828216; darn=gnu.org; h=mime-version:user-agent:content-transfer-encoding:references :in-reply-to:date:cc:to:from:subject:message-id:from:to:cc:subject :date:message-id:reply-to; bh=mV1lVD/O/6MA4YncO8CRvsZoV/GZ63iRmPtlXoX6eGY=; b=Q+kfUO7NOA06+dI7pH9DzbDxlHpzH/UXd1w8kcgEgvpBXNJrChOVgQYcqbntN7YEAh WBdz1+Rbxo8ZlHvwbqPP20smVmGfZx66zoQpYv07P1esHZSEW1UJu+tygKRDCZvhseJs XrgP4VCTrsDGIBOa9KWuynNew7gYBqZPAR3t+YOMcNR3hG1r0a+kP6FyXPdw6KpNp3qM GiepYW84HpKUvBn01zGkUZnCbDUGkl/dSJ0U6jE5Q4TZxBsqqJIJAnVgzgsDeeT6Ky0k jHYs3WhGLsdUauSTJmnQP0n2+WupBpdjCqhbn6/QVTSRndL0VkAgGFHg0VhSeaxMiePq L+nQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1702223416; x=1702828216; h=mime-version:user-agent:content-transfer-encoding:references :in-reply-to:date:cc:to:from:subject:message-id:x-gm-message-state :from:to:cc:subject:date:message-id:reply-to; bh=mV1lVD/O/6MA4YncO8CRvsZoV/GZ63iRmPtlXoX6eGY=; b=cWwNWuvax9B5Tke64OxwnJczw8qkkV3IWxyueC8gGZUHglaS0v6jCPtuLwar8ZPhw6 0fuPXw7Y8fzMDB4Ft5/g+iJfnrHPrfvZIUk2p1eObDsN7qJSpZTARDUwN9C5l+hroON7 ITG1vtinyP4jLYsws7Tnq005KhlHJeW6yyKARCRDlfrlkm7pHe6bxdyGj7CpFJZ8ZymX ZJ5YtONNmFL9sy2Kx4kktBMOSLggedFQUOevnKCwQY914jyQ6DQunYqpJsZK5mmY2gUZ QzOflxKQUrFnBngm6HzYTdHU+oPxZS862XNYTizqK6UMw2kmz8IStMbP5HmOywy9dQJA ScgA== X-Gm-Message-State: AOJu0Ywhzj+EDkWOId5tbHYe/jQCHhZAx+N65TQve2ZvcYrExlk373yI wyCNXdxQ742nUU28kcaxizB5aeqxmw7VgA== X-Google-Smtp-Source: AGHT+IGK12NZEQ9xsWmHpakozj5aprUVspObLqqxEpn6QUEaKBT/TEopUsvIa9Sd/8TkhO5SGY446Q== X-Received: by 2002:a05:6402:6c7:b0:54c:4837:a650 with SMTP id n7-20020a05640206c700b0054c4837a650mr2030185edy.61.1702223415952; Sun, 10 Dec 2023 07:50:15 -0800 (PST) Received: from lumine.fritz.box (85-127-52-93.dsl.dynamic.surfer.at. [85.127.52.93]) by smtp.gmail.com with ESMTPSA id k12-20020a50c8cc000000b0054f54cc50d1sm2299175edh.22.2023.12.10.07.50.15 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sun, 10 Dec 2023 07:50:15 -0800 (PST) Message-ID: <7dbd09bea2e157f6fa739d9637d5bb87a44ab892.camel@gmail.com> Subject: Re: Should commits rather be buildable or small From: Liliana Marie Prikler To: Saku Laesvuori Cc: guix-devel@gnu.org Date: Sun, 10 Dec 2023 16:50:14 +0100 In-Reply-To: References: <6bcc9412f092c20fbd7f8326dbf91e90cef0eed1.camel@gmail.com> Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable User-Agent: Evolution 3.46.4 MIME-Version: 1.0 Received-SPF: pass client-ip=2a00:1450:4864:20::543; envelope-from=liliana.prikler@gmail.com; helo=mail-ed1-x543.google.com X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, FREEMAIL_FROM=0.001, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001, T_SCC_BODY_TEXT_LINE=-0.01 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: guix-devel@gnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: "Development of GNU Guix and the GNU System distribution." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: guix-devel-bounces+larch=yhetil.org@gnu.org Sender: guix-devel-bounces+larch=yhetil.org@gnu.org X-Migadu-Flow: FLOW_IN X-Migadu-Country: US X-Migadu-Spam-Score: -9.49 X-Spam-Score: -9.49 X-Migadu-Queue-Id: 7E705664E0 X-Migadu-Scanner: mx12.migadu.com X-TUID: Bkp4tchq7er5 Am Sonntag, dem 10.12.2023 um 17:28 +0200 schrieb Saku Laesvuori: > > Hi Saku, > >=20 > > Am Freitag, dem 08.12.2023 um 10:42 +0200 schrieb Saku Laesvuori: > > > Hi, > > >=20 > > > I'm planning on refreshing Guix's haskell packages as my fix for > > > https://issues.guix.gnu.org/66347=C2=A0requires rebuilding all of the= m > > > anyway. Should I try to keep commits small with only one update > > > per commit (which is more work but managable if I don't care > > > about the commits being buildable) or should I try to keep them > > > buildable (i.e. update everything in one commit)? It is quite > > > certain that most of them will not build after updating ghc or a > > > subset of their dependencies, so making many small commits would > > > cause nearly all of them to be unbuildable. > >=20 > > Define "buildable" and "unbuildable". >=20 > I used these definitions: a buildable commit does not have build > failures (or at least no new ones). An unbuildable commit introduces > new build failures (in this case a lot of them). >=20 > Buildable commits are safe spots to land on with time-machine in the > sense that the packages defined in them can be used. I expect it > would be very painful to try jumping to past commits with time- > machine if a large portion of the commits in Guix were unbuildable. Yeah, it's not really good commit etiquette to drop a bunch of world- breaking builds on top of master. We mostly use feature branches for larger changes. OTOH, if it rebuilds less than 300 packages, it really is your call =E2=80=93 the number of breakages is limited in that case too = :) > > Depending on the context, it may be fine or even required to break > > dependant packages for a short while and update them along a longer > > series. >=20 > I guess "required" here means that in some cases Guix's policy is to > prefer small commits over buildable commits (with the previous > definition). I at least don't see any technical reasons why it would > be required. The question then becomes whether that policy applies in > this case. This is typically allowed when branching off, as few people will time- machine into an intermediate commit on an off-master branch safe for debugging some very arcane failures. =20 > > However, in each commit at least the package touched in that > > commit ought to build. >=20 > This should, of course, be theoretically possible with at least one > update order but I don't know how would I discover that order (more > efficiently than by trial and error. I don't want to try ~800=C2=B2 > different combinations). A reasonable way is to plan according to guix graph. Tackle the low- level nodes first and stack the high-level nodes on top. If two packages share immediate dependencies, but neither relies on the other, then any order is fine between these two. Cheers