From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mp12.migadu.com ([2001:41d0:2:4a6f::]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)) by ms5.migadu.com with LMTPS id IAIuMuMrZGNYjwAAbAwnHQ (envelope-from ) for ; Thu, 03 Nov 2022 22:00:19 +0100 Received: from aspmx1.migadu.com ([2001:41d0:2:4a6f::]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)) by mp12.migadu.com with LMTPS id WFbZMeMrZGMEQgAAauVa8A (envelope-from ) for ; Thu, 03 Nov 2022 22:00:19 +0100 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 77D93153B1 for ; Thu, 3 Nov 2022 22:00:19 +0100 (CET) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1oqhJR-0002Ul-H1; Thu, 03 Nov 2022 16:59:46 -0400 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 1oqhJK-0002T3-2h for guix-devel@gnu.org; Thu, 03 Nov 2022 16:59:39 -0400 Received: from mail-ed1-x542.google.com ([2a00:1450:4864:20::542]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1oqhJG-0002CB-LC for guix-devel@gnu.org; Thu, 03 Nov 2022 16:59:37 -0400 Received: by mail-ed1-x542.google.com with SMTP id l11so4925125edb.4 for ; Thu, 03 Nov 2022 13:59:33 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112; h=mime-version:user-agent:content-transfer-encoding:references :in-reply-to:date:to:from:subject:message-id:from:to:cc:subject:date :message-id:reply-to; bh=Y93MSh50qESdaUgrGgxZpMJ1GMX5ozHlFYa33LwDdkg=; b=Q6ciYek8jmRpWqTB7JyEPZIa5aTdWrLfCUJsdu9+VX7VzQcHxfxDlLjG7AngH9ImnR RcO5Ps5SnZF/3VdHRcj7ZVQFEblGKOjivLc81MkS+9IMLiVUYsaQhYTEGPxV8dZUJ8MI +ET/bBJ6l2u83LC4XmfKr4o0bal5XZIKxTnNIXiLKkbFnEXEui1wGWTijmN+Bh0DK1pO rWmO5txRHXxzVieo5BCDrD1IK3mVAFx/m9xAt9c2en89sAUDY+q4nciRzpCTkfuJqJud +SGKTLqXALeSQPAXM4okmd/vGkJWJO0LQUBspdO2WzcugVQevn2DEuaf1/SBag+VWule inrA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=mime-version:user-agent:content-transfer-encoding:references :in-reply-to:date:to:from:subject:message-id:x-gm-message-state:from :to:cc:subject:date:message-id:reply-to; bh=Y93MSh50qESdaUgrGgxZpMJ1GMX5ozHlFYa33LwDdkg=; b=iw24VZhV7sUER9vOspZZuKYvYuzatpW171UChlY8Rh2umvEIFGjIcBESG6CUMPs2gL G2m0qQr8Saa5I/Js1kitbp3MOHDWl3b0XrDkEMfTsMviZWKRourGpeYZwoIAw8fUvDIC WMFSMC/fN2pB6YoP1lDkBUT58CVdkfT8JCRCq2ZDFXW75WpPT5gH0O0bnKNLnIHn2UV/ eqas7KcReXFOTFMSzNGMdKo5Vu5LrIBFXXrFgSnPn+6Y2BjE7L3JJp/gevIJ4pqltEFM uU69z+GUw0RbKuvE6odQDmAFes4hMCuMFnIPOMFBZR3G3itsFw0sdGqU6/NgywnzznaA l0pw== X-Gm-Message-State: ACrzQf1t3jpLjK5EVzGj2eKPzY3yJokVyXCj1NVeeM3SqOMXtpPMYa1w dDa/UeuX98DNei6Bs+Sun9c= X-Google-Smtp-Source: AMsMyM5nId4P4s2xmsXO9ID5m9eBfhwfeSlG57VeqF+KokmOZXjaq0y5unk8azLgnsPYICiz6jdK9A== X-Received: by 2002:a05:6402:2947:b0:451:32a:2222 with SMTP id ed7-20020a056402294700b00451032a2222mr31309994edb.376.1667509171234; Thu, 03 Nov 2022 13:59:31 -0700 (PDT) Received: from lumine.fritz.box (85-127-52-93.dsl.dynamic.surfer.at. [85.127.52.93]) by smtp.gmail.com with ESMTPSA id 1-20020a170906308100b0073d71792c8dsm907665ejv.180.2022.11.03.13.59.30 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 03 Nov 2022 13:59:30 -0700 (PDT) Message-ID: Subject: Re: splitting up and sorting commits? From: Liliana Marie Prikler To: Csepp , guix-devel@gnu.org Date: Thu, 03 Nov 2022 21:59:29 +0100 In-Reply-To: <87cza65i1z.fsf@riseup.net> References: <87cza65i1z.fsf@riseup.net> Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable User-Agent: Evolution 3.46.0 MIME-Version: 1.0 Received-SPF: pass client-ip=2a00:1450:4864:20::542; envelope-from=liliana.prikler@gmail.com; helo=mail-ed1-x542.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 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: , Sender: "Guix-devel" Errors-To: guix-devel-bounces+larch=yhetil.org@gnu.org X-Migadu-Flow: FLOW_IN X-Migadu-Country: US ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=yhetil.org; s=key1; t=1667509219; h=from:from:sender:sender:reply-to:subject:subject:date:date: message-id:message-id:to:to: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=Y93MSh50qESdaUgrGgxZpMJ1GMX5ozHlFYa33LwDdkg=; b=MEKzyRqNtJni2OHcpamtYvDlYBZqZAEQxHf/96uiNXcELhyWU+uzbyOytlbD6/onqhK6SE K983rJnYdhXUKcZJ/3FD6I0PrnUimr408HzsKjlRMj55aWjJKcOCD6qnpW0M1YJllzvstz xbTMB6e1OpAmWglp3JhQajsxxE4kpqWwqkeWxgXRyRl1Ej+Fudz872Z7mIfspvW7s39oTV bg8rM+ap3OdTHri1MJI9f/d4xcXViD9HRcJB2ON4K/34y3LY4rgyzcl8McHNBwAiwGiSqw FXWiki96hica4A+sAc5DXWjx6is1ZA7VJlopdJDNEqde0SX8XlEVBFdoT5xLKA== ARC-Seal: i=1; s=key1; d=yhetil.org; t=1667509219; a=rsa-sha256; cv=none; b=aA8qqEdPF41aIj46CCGxaEK92Ti+GIbdZCcU3K2qUKT8q9oRjBzuEdDMpI17Nxbk/hb4T1 zt27YfsOEn1KXcZDnvQToKcEY0zVrOHaWWXXp35S+VANOp6sz8fJz3T5GucLEPeowi/IwV CO1uFYWzCnKLwqPYIU5uhjO4nZLxsGh87IYevAhHSbC7CzXKUplhB8wrBYiRu3dt8Na48T Rt/joV2nLmRkpqDV2+cj/azVhkY2EL9dj3JY9MwMH8tvwtubDKZOzacSr9On1o+XLrPAXx JL8N9YMqK3iwQS5w0NC5v/7h5wuFAI0n62Ky+QNs9+aAgQjxJqnMAhFRRJVSJQ== ARC-Authentication-Results: i=1; aspmx1.migadu.com; dkim=pass header.d=gmail.com header.s=20210112 header.b=Q6ciYek8; dmarc=pass (policy=none) header.from=gmail.com; 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" X-Migadu-Spam-Score: -1.49 Authentication-Results: aspmx1.migadu.com; dkim=pass header.d=gmail.com header.s=20210112 header.b=Q6ciYek8; dmarc=pass (policy=none) header.from=gmail.com; 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" X-Migadu-Queue-Id: 77D93153B1 X-Spam-Score: -1.49 X-Migadu-Scanner: scn1.migadu.com X-TUID: kLMoVEy7uyVd Am Mittwoch, dem 02.11.2022 um 00:05 +0000 schrieb Csepp: > Hey all! >=20 > I'm working on a fairly sizeable MirageOS branch, just getting the > hello-world kernel running involved adding about 40 packages.=C2=A0 Very > often I run into a scenario where an imported package needs some > other package to compile, and then that needs another, and then that > another, and so on and so on, so by the time I can commit the first I > have a plethora of new packages that should in theory all get their > own commits. > There are two problems with this: > * Splitting up the commit is a pain, even with git add --patch, > because hand editing the diff sucks and splitting does not work, > possibly due to there not being enough space between defines for > git's taste. > * It is very easy for package to get added before their dependencies, > so even though by the end of the commit chain everything builds > perfectly fine, there are intermediate commits that can't be tested > on their own. >=20 > How should one solve this?=C2=A0 I already spent way too much time on a > script that I foolishly thought would be able to automatically sort > commits based on their dependencies, but now I'm throwing in the > towel, it's not getting anywhere. zimoun mentioned etc/committer.scm, which is nice if it works for you, but perhaps doesn't fully answer your question. The pauper's solution would be to keep a separate "scratch pad" file containing a bunch of assorted guix packages, ordered in a way that all packages are defined before they're used as inputs =E2=80=93 you can easily maintain this order = by insertion sort. Then, once the big package finally builds and you're content with it, you can copy the definitions to the correct file(s) in the guix tree one by one. Cheers