From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mp10.migadu.com ([2001:41d0:8:6d80::]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)) by ms0.migadu.com with LMTPS id +JS2Oejj5WHbXQAAgWs5BA (envelope-from ) for ; Mon, 17 Jan 2022 22:47:20 +0100 Received: from aspmx1.migadu.com ([2001:41d0:8:6d80::]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)) by mp10.migadu.com with LMTPS id MIVyMujj5WF3LQAAG6o9tA (envelope-from ) for ; Mon, 17 Jan 2022 22:47:20 +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 936691EBB8 for ; Mon, 17 Jan 2022 22:47:20 +0100 (CET) Received: from localhost ([::1]:50018 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1n9ZqR-0006nh-R0 for larch@yhetil.org; Mon, 17 Jan 2022 16:47:19 -0500 Received: from eggs.gnu.org ([209.51.188.92]:44774) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1n9Zq3-0006nU-Cm for guix-devel@gnu.org; Mon, 17 Jan 2022 16:46:55 -0500 Received: from wout1-smtp.messagingengine.com ([64.147.123.24]:32779) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1n9Zq1-0000Rd-B5 for guix-devel@gnu.org; Mon, 17 Jan 2022 16:46:55 -0500 Received: from compute4.internal (compute4.nyi.internal [10.202.2.44]) by mailout.west.internal (Postfix) with ESMTP id CD6DC3201D70; Mon, 17 Jan 2022 16:46:50 -0500 (EST) Received: from mailfrontend1 ([10.202.2.162]) by compute4.internal (MEProxy); Mon, 17 Jan 2022 16:46:51 -0500 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=famulari.name; h=date:from:to:subject:message-id:mime-version:content-type; s= mesmtp; bh=qgtFvZ0GpYCeDhXNAYMqxzTvrud169KOOG3xHwtMTuw=; b=nZPlU XidCufUwXgoTUVQLGEP5EedkHOxz5U0SI6kfqP3Z3Y2LR7jCBfSn8T/nRQEuGZZk Or7IoqIqrOYVc3CUNefeF2qTd30nxF7jxKoNB4hv4kXBJnWpvhWwZvpMhxo5hwM/ /chwj2vNd2MG6wJaEVWxVE5SY6OxwQ4eGoUuiY= DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d= messagingengine.com; h=content-type:date:from:message-id :mime-version:subject:to:x-me-proxy:x-me-proxy:x-me-sender :x-me-sender:x-sasl-enc; s=fm1; bh=qgtFvZ0GpYCeDhXNAYMqxzTvrud16 9KOOG3xHwtMTuw=; b=Yd0UtGsdz1/xY9FchpbKD6B+00DZ1Cxu+2YjdiPzSE9Yb DEwp9Zhg1hims5oE+GtwsSjrj3DWpN/FUyACvhSkhGAt8b50RdJ8xexzEB0fohw1 Hg2smnpdJb9bChxOt1iKatWTW3qrDvm9EmoGXoiTdDHEg9kDmt58LwEP0ro6vQz4 MmfhbvqO7TNo5DbxTjd3qd7CFn09L/zb8Y7leE+NMNB1LYpn9o4tmGP3mtrFuylQ Tn+wHoW0FbrDceIhSqArHdhje7k1JdqX0l/QWMfGZDtu/QME6qpQXlJoBnwhflBf Y3UU067qKPeRQz+0ZSCgShx00pE4COiKF2Cy1hFfA== X-ME-Sender: X-ME-Received: X-ME-Proxy-Cause: gggruggvucftvghtrhhoucdtuddrgedvvddruddugdduheegucetufdoteggodetrfdotf fvucfrrhhofhhilhgvmecuhfgrshhtofgrihhlpdfqfgfvpdfurfetoffkrfgpnffqhgen uceurghilhhouhhtmecufedttdenucenucfjughrpeffhffvuffkgggtugesthdtredttd dtvdenucfhrhhomhepnfgvohcuhfgrmhhulhgrrhhiuceolhgvohesfhgrmhhulhgrrhhi rdhnrghmvgeqnecuggftrfgrthhtvghrnhepueeiudeijeduffdvhfejvdegvdehgffgje dvveekfeefleefkeeuieejudevtedunecuffhomhgrihhnpehgnhhurdhorhhgnecuvehl uhhsthgvrhfuihiivgeptdenucfrrghrrghmpehmrghilhhfrhhomheplhgvohesfhgrmh hulhgrrhhirdhnrghmvg X-ME-Proxy: Received: by mail.messagingengine.com (Postfix) with ESMTPA for ; Mon, 17 Jan 2022 16:46:50 -0500 (EST) Date: Mon, 17 Jan 2022 16:46:48 -0500 From: Leo Famulari To: guix-devel@gnu.org Subject: WARNING: Git merges are tricky. Rebasing is better? Message-ID: MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline Received-SPF: pass client-ip=64.147.123.24; envelope-from=leo@famulari.name; helo=wout1-smtp.messagingengine.com X-Spam_score_int: -27 X-Spam_score: -2.8 X-Spam_bar: -- X-Spam_report: (-2.8 / 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, RCVD_IN_DNSWL_LOW=-0.7, RCVD_IN_MSPIKE_H3=0.001, RCVD_IN_MSPIKE_WL=0.001, SPF_HELO_PASS=-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: , Errors-To: guix-devel-bounces+larch=yhetil.org@gnu.org Sender: "Guix-devel" 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=1642456040; 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:list-id:list-help:list-unsubscribe: list-subscribe:list-post:dkim-signature; bh=qgtFvZ0GpYCeDhXNAYMqxzTvrud169KOOG3xHwtMTuw=; b=t+BGND9Gikw+OA410fMQQUuoNXBQpC7XE8ClkPSW9vkaZUb+oMESRAub5Nd6TBRA0q4yTN P4ipbuGVrvFTCycp7PlsuExWYrWkXXl7URjgIMbUm+DaosF7RD1759kBBM3cB8TWC1hs0J KfFzGxGruedizXCZucc6pOHEZCAmpI1qN/Jg5IJ0LA4QglX6bqaMSir258jKSgoVo+IW+r HLSHFWzMZ1ABa8k1JwYsu7Bc8aMY/f2RXAtf5cyKlLCPjczoWBbT09sMTckLW27eIGxm58 r5l1Untnf7ToIxUTut2iFkVOcGLmoP35kXIL/qjyFo9FB878cnbP5ahggYN8DQ== ARC-Seal: i=1; s=key1; d=yhetil.org; t=1642456040; a=rsa-sha256; cv=none; b=lFk2dtrx1LjPu0m9JmnXCUcrZftT6BVALegrfo5tfc+5s16VOfrBjxNEn8I7iFUKuF97Jg 61taiibFrvbTPVsAQ15nHc65i7rsgmeB6w4m2TfMj60VweeEnL8a0yMhaGyFPpGtSYX+03 BCb49yfAkJrBARjK90N7gcLCF6cE9OiV82t2Cmo+4PCE/lHgf7Px0mAIYnRdjebHt8WraA +vzioxAJPV+8UjnKoCkZEf6cyfx51Cx0qwgwh+1mgPk6T96qZS6ktpHK1jQyYKCmxoRZ2a MvKwjYdssjgioY0uzyMbYo+XAvIC21GeMvf/2sZ7Ryf/+k/Mh1AmhJVYAm8lCQ== ARC-Authentication-Results: i=1; aspmx1.migadu.com; dkim=pass header.d=famulari.name header.s=mesmtp header.b="nZPlU Xi"; dkim=pass header.d=messagingengine.com header.s=fm1 header.b=Yd0UtGsd; dmarc=none; 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: -3.92 Authentication-Results: aspmx1.migadu.com; dkim=pass header.d=famulari.name header.s=mesmtp header.b="nZPlU Xi"; dkim=pass header.d=messagingengine.com header.s=fm1 header.b=Yd0UtGsd; dmarc=none; 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: 936691EBB8 X-Spam-Score: -3.92 X-Migadu-Scanner: scn1.migadu.com X-TUID: 78GNACtu0Nsi Take note that Git merges can be tricky and hide mistakes! Please consider using a rebasing workflow instead of a merging workflow for your branches. For example, today we merged the version-1.4.0 branch into the master branch, with commit 276f40fdc349d2ad62582b23ea55e061b689cfc0. After the merge, we got a report on the #guix IRC channel [0] that the Epiphany package's source hash was incorrect. It was using the hash of the previously packaged version of Epiphany. Using Git, we can see that in commit 291c4fa0ba, Epiphany was updated to version 41.2, with a correct change in hash: https://git.savannah.gnu.org/cgit/guix.git/commit/?id=291c4fa0baf24b9d600872fce99441f5471cdb40 Later, the version-1.4.0 branch was merged into master. View the Git log from the commit where Epiphany was updated through the merge: $ git log --patch 291c4fa0baf^..276f40fdc34 gnu/packages/gnome.scm It does not show that the update of Epiphany's source hash was reverted. And to be sure that something is wrong, we can examine the file based on the merge commit: ------ $ git show 276f40fdc349d2ad62582b23ea55e061b689cfc0:gnu/packages/gnome.scm | grep "define-public epiphany" -A11 (define-public epiphany (package (name "epiphany") (version "41.2") (source (origin (method url-fetch) (uri (string-append "mirror://gnome/sources/epiphany/" (version-major version) "/" "epiphany-" version ".tar.xz")) (sha256 (base32 "0r7m34xzz3shdfxf2abxb069izak3yv3ijlg29qy4pfmyawkilfs")) ------ ^ *This is the hash of Epiphany 40.3, the old version!* Git's automatic merge conflict resolution algorithm did the wrong thing here. And Git does not show the reversion in `git log`, hiding it from review. My guess is that commit f7afefba0 ("gnu: epiphany: Fix build with libportal-0.5."), which happened on the master branch while the version-1.4.0 branch was forked off, made Git think that this line was more "up to date" on master than on version-1.4.0, causing it to select the old hash when faced with the conflict. Once again, consider using a workflow based on rebasing instead of merging for forked branches that will live for weeks to a month or two. This type of mistake cannot be obscured when rebasing. [0] http://logs.guix.gnu.org/guix/2022-01-17.log#195313