From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mp2 ([2001:41d0:2:4a6f::]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)) by ms11 with LMTPS id IDzNCG1t115JGwAA0tVLHw (envelope-from ) for ; Wed, 03 Jun 2020 09:29:17 +0000 Received: from aspmx1.migadu.com ([2001:41d0:2:4a6f::]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)) by mp2 with LMTPS id kFTQBG1t1179MgAAB5/wlQ (envelope-from ) for ; Wed, 03 Jun 2020 09:29:17 +0000 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 7D1F19401D0 for ; Wed, 3 Jun 2020 09:29:16 +0000 (UTC) Received: from localhost ([::1]:34416 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1jgPhy-0007uD-4n for larch@yhetil.org; Wed, 03 Jun 2020 05:29:14 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:48398) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1jgPhm-0007tt-De for bug-guix@gnu.org; Wed, 03 Jun 2020 05:29:03 -0400 Received: from debbugs.gnu.org ([209.51.188.43]:58678) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1jgPhm-0007Lb-3j for bug-guix@gnu.org; Wed, 03 Jun 2020 05:29:02 -0400 Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.84_2) (envelope-from ) id 1jgPhm-0001WV-1F for bug-guix@gnu.org; Wed, 03 Jun 2020 05:29:02 -0400 X-Loop: help-debbugs@gnu.org Subject: bug#41604: guix pull impossible after rebasing a local repository Resent-From: Ludovic =?UTF-8?Q?Court=C3=A8s?= Original-Sender: "Debbugs-submit" Resent-CC: bug-guix@gnu.org Resent-Date: Wed, 03 Jun 2020 09:29:01 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 41604 X-GNU-PR-Package: guix X-GNU-PR-Keywords: To: John Soo Received: via spool by 41604-submit@debbugs.gnu.org id=B41604.15911765405848 (code B ref 41604); Wed, 03 Jun 2020 09:29:01 +0000 Received: (at 41604) by debbugs.gnu.org; 3 Jun 2020 09:29:00 +0000 Received: from localhost ([127.0.0.1]:41991 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1jgPhk-0001WE-EK for submit@debbugs.gnu.org; Wed, 03 Jun 2020 05:29:00 -0400 Received: from eggs.gnu.org ([209.51.188.92]:35534) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1jgPhj-0001W1-7M for 41604@debbugs.gnu.org; Wed, 03 Jun 2020 05:28:59 -0400 Received: from fencepost.gnu.org ([2001:470:142:3::e]:37955) by eggs.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1jgPhd-0007L6-Ap; Wed, 03 Jun 2020 05:28:53 -0400 Received: from [2a01:e0a:1d:7270:af76:b9b:ca24:c465] (port=40700 helo=ribbon) by fencepost.gnu.org with esmtpsa (TLS1.2:RSA_AES_256_CBC_SHA1:256) (Exim 4.82) (envelope-from ) id 1jgPhc-0005eV-UG; Wed, 03 Jun 2020 05:28:53 -0400 From: Ludovic =?UTF-8?Q?Court=C3=A8s?= References: <87zh9qofw7.fsf@asu.edu> Date: Wed, 03 Jun 2020 11:28:51 +0200 In-Reply-To: <87zh9qofw7.fsf@asu.edu> (John Soo's message of "Fri, 29 May 2020 09:38:32 -0700") Message-ID: <87a71kqyzw.fsf@gnu.org> User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/26.3 (gnu/linux) MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable X-Spam-Score: -2.3 (--) X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list X-Spam-Score: -3.3 (---) X-BeenThere: bug-guix@gnu.org List-Id: Bug reports for GNU Guix List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: 41604@debbugs.gnu.org Errors-To: bug-guix-bounces+larch=yhetil.org@gnu.org Sender: "bug-Guix" X-Scanner: scn0 Authentication-Results: aspmx1.migadu.com; dkim=none; dmarc=none; spf=pass (aspmx1.migadu.com: domain of bug-guix-bounces@gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=bug-guix-bounces@gnu.org X-Spam-Score: -1.01 X-TUID: WZNtK/D/GJWV Hi John, John Soo skribis: > I use a local git repo with branch that I specify in channels.scm. > My usual workflow is: > > 1. rebase on origin > 2. guix pull > > This stopped working with the following error: > > Updating channel 'guix' from Git repository at 'file:///home/john/project= s/guix/.git'... > guix pull: error: aborting update of channel 'guix' to commit 1444040933a= c35b967720288dc30ed70e5481ed3, which is not a descendant of 57518fc7bf1efc8= 99c0dabaa76685a319661f8e4 > hint: This could indicate that the channel has been tampered with and is = trying to > force a roll-back, preventing you from getting the latest updates. If yo= u think > this is not the case, explicitly allow non-forward updates. What happens is that =E2=80=98guix pull=E2=80=99 ensures that it only ever = makes =E2=80=9Cfast-forward=E2=80=9D updates by default, in Git parlance. The go= al is to detect obvious =E2=80=9Cdowngrade attacks=E2=80=9D: https://issues.guix.gnu.org/41425 (This can be overridden this by passing =E2=80=98--allow-downgrades=E2=80= =99.) The rebase workflow you describe unavoidably triggers the error because every time you pull, you do a non-fast-forward pull (because the commit you were previously using, as shown in =E2=80=98guix describe=E2=80=99, has= been rewritten and no longer exists in the new commit graph.) So at least, it shows that the machinery works as advertised. :-) What I would recommend is for your channel to be a regular =E2=80=9Cfork=E2= =80=9D: you create a branch containing your patches and regularly merge upstream master back into your branch. That way, you don=E2=80=99t need to rewrite history and =E2=80=98guix pull=E2=80=99 is happy. Alternately, if you like to have linear history (for example because you intend to eventually submit your patches upstream), you could use TopGit, which roughly allows you to version-control your rebases. HTH! >From a pure Guix perspective, it=E2=80=99s =E2=80=9Cnot-a-bug=E2=80=9D. If= one of the above suggestions works for you, I think we can close this issue. Thanks for your feedback! Ludo=E2=80=99.