From owner-freebsd-git@freebsd.org Tue Apr 21 21:17:58 2020 Return-Path: Delivered-To: freebsd-git@mailman.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.nyi.freebsd.org (Postfix) with ESMTP id 8C0C12BB2A1 for ; Tue, 21 Apr 2020 21:17:58 +0000 (UTC) (envelope-from gjb@freebsd.org) Received: from freefall.freebsd.org (freefall.freebsd.org [IPv6:2610:1c1:1:6074::16:84]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) server-signature RSA-PSS (4096 bits) client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "freefall.freebsd.org", Issuer "Let's Encrypt Authority X3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 496Gck3C6rz4Dq0; Tue, 21 Apr 2020 21:17:58 +0000 (UTC) (envelope-from gjb@freebsd.org) Received: from FreeBSD.org (freefall.freebsd.org [IPv6:2610:1c1:1:6074::16:84]) (using TLSv1 with cipher ECDHE-RSA-AES256-SHA (256/256 bits)) (Client did not present a certificate) by freefall.freebsd.org (Postfix) with ESMTPS id 098A88DFC; Tue, 21 Apr 2020 21:17:58 +0000 (UTC) (envelope-from gjb@freebsd.org) Date: Tue, 21 Apr 2020 21:17:55 +0000 From: Glen Barber To: freebsd-git@freebsd.org Subject: Git tags vs SVN tags and some edge cases Message-ID: <20200421211755.GA93074@FreeBSD.org> MIME-Version: 1.0 Content-Type: multipart/signed; micalg=pgp-sha256; protocol="application/pgp-signature"; boundary="Q68bSM7Ycu6FN28Q" Content-Disposition: inline X-BeenThere: freebsd-git@freebsd.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Discussion of git use in the FreeBSD project List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 21 Apr 2020 21:17:58 -0000 --Q68bSM7Ycu6FN28Q Content-Type: text/plain; charset=us-ascii Content-Disposition: inline I was asked to send and email about this as something about which we need to be aware when retaining history during the official final conversion from SVN to Git. There are four known anomalies (naturally, all of which are mine) with SVN tags that may not translate well when the conversion to Git is done. Here follows said known anomalies and the reason for their existence: 1) 11.0-RELEASE and the case of the real RELEASE - 11.0-RELEASE-p1: When the initial builds for 11.0-RELEASE were done, there was still an outstanding issue with the freebsd-update(8) utility that I was under the impression had already been fixed, but it had not. Since 11.0-RELEASE was already available on the download mirrors and had already become actively used, the original ISOs were renamed and following the fix to the issue blocking the release, we opted to release 11.0-RELEASE as 11.0-RELEASE-p1, retaining the original release/11.0.0 tag and re-tagging the real official release as release/11.0.1. 2) 10.0-RELEASE and the case of missing build fixes: During the 10.0-RELEASE cycle, the release/10.0.0 tag was created from r260664, however there were several changes to fix various parts of the build, committed as r260788. The real 10.0-RELEASE tag was created from r260788 to incorporate said fixes. So, this tag was deleted and recreated. [1] [2] [3] 3) 9.3-RELEASE and the case of the wrong source revision: The original 9.3-RELEASE tag, release/9.3.0, was created from r268519 by mistake, when it should have been created from the commit that changed the name to -RELEASE (r268512). So, this tag was deleted and recreated. [4] [5] [6] 4) 8.4-RELEASE and the case of the change-in-a-tag wrong commit: The original commit for 8.4-RELEASE included a change to sys/conf/newvers.sh to rename from -RC3 to -RELEASE, which was wrong (r250625). The release/8.4.0 branch was deleted in r250629 and recreated from r251258 (not a typo) after the erroneous commit had been discovered some time later. [1] https://lists.freebsd.org/pipermail/svn-src-release/2014-January/000007.html [2] https://lists.freebsd.org/pipermail/svn-src-release/2014-January/000008.html [3] https://lists.freebsd.org/pipermail/svn-src-release/2014-January/000009.html [4] https://lists.freebsd.org/pipermail/svn-src-release/2014-July/000010.html [5] https://lists.freebsd.org/pipermail/svn-src-release/2014-July/000011.html [6] https://lists.freebsd.org/pipermail/svn-src-release/2014-July/000012.html [7] https://lists.freebsd.org/pipermail/svn-src-release/2013-May/000003.html [8] https://lists.freebsd.org/pipermail/svn-src-release/2013-May/000002.html [9] https://lists.freebsd.org/pipermail/svn-src-release/2013-June/000005.html Glen --Q68bSM7Ycu6FN28Q Content-Type: application/pgp-signature; name="signature.asc" -----BEGIN PGP SIGNATURE----- iQIzBAEBCAAdFiEEjRJAPC5sqwhs9k2jAxRYpUeP4pMFAl6fYv4ACgkQAxRYpUeP 4pMMng//b+jGGok0hTPC9EIvu/H1s6mMKESRKqjLUZ501Mkliq/JOxSAwvQpnfpm bdWUNZXJghLmLAPISnNyNV/0hqjK3haUg7Gh6gSnWxo0fAhSHetXhF++bu+ngPa2 eFaVIOhcSXP2hktf6WxJABDPlrQBx9glPWYTVyp77aDuTNt2pX0DQyBSPYSnwT4t vweoi2sQBs6rDSOSa7blGFiTdlAnpqxd/YUVTdOlnd213BbA0J0hWlBQChTVphMv GFK8guup01wrANPzOODxOcP11R/SRsnVkv+b0BYZ4pG4ZYey4qeum5+aieIOY5YQ BzAxdV1N6QgSSGD4OGu0qwV5pg0YOYhXsnY/+SCdwvnC05chMc0kY7qhZwNP2Pj7 6/Dw9u2YcTS9qGBZlC1d4L3nt3DGuGptTFtlMgrbgvkjw90hsGAk28Dp4bSqIDES LQJVtk5MyKliUwxYvR8EWfq43qfUsq664abjdhrsgkog0adZuj6Eqb3F+sk6FpzF haZFolBTz0JeN2ClIfz80yVJaR4YlD0g9hZN6LrRGJ2CmXN/Yj6nxr70PilsjGeN kSEAacwU2b+9vU00VZCyHmuOQg5um9yK/RGUcEqbLpwMTJjCKignKiGvf2m5FHxd 8qA+cwz00nLUxvaKVZqoouP9NF876aC3+ArixankBMP8M6yA3ME= =0cZp -----END PGP SIGNATURE----- --Q68bSM7Ycu6FN28Q-- From owner-freebsd-git@freebsd.org Fri Apr 24 10:51:40 2020 Return-Path: Delivered-To: freebsd-git@mailman.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.nyi.freebsd.org (Postfix) with ESMTP id 834E52AF64F for ; Fri, 24 Apr 2020 10:51:40 +0000 (UTC) (envelope-from uspoerlein@gmail.com) Received: from mail-ot1-f54.google.com (mail-ot1-f54.google.com [209.85.210.54]) (using TLSv1.3 with cipher TLS_AES_128_GCM_SHA256 (128/128 bits) server-signature RSA-PSS (4096 bits) client-signature RSA-PSS (2048 bits) client-digest SHA256) (Client CN "smtp.gmail.com", Issuer "GTS CA 1O1" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 497rZg1PDtz496n for ; Fri, 24 Apr 2020 10:51:38 +0000 (UTC) (envelope-from uspoerlein@gmail.com) Received: by mail-ot1-f54.google.com with SMTP id e26so11631602otr.2 for ; Fri, 24 Apr 2020 03:51:38 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:from:date:message-id:subject:to; bh=tphz/M2eyqu4g8JhGdiC7jKoP5C3fTXOcTtNufMkptw=; b=trD1gXSDx40E4ZUw+r9qVmeWDfGC7w+IsBoCcGLktLVDjp8beSLuZJ7O/mn57njlgr Wlxc6OO5sqK3Oy+LH9G1Vtw3177SJuDFRKz2YxhCjBzYjL6HO06VL1C7Gp4M3BGFnzMe 9PCYgdoIM4j7EEjM39MNSrlUu3mqMbnHTzjhRXN+66YdWPmGmsXe49gISUUZXWr31dcn fyW8RpzTzHrgHzGjPaRf9HfnSpGRAYEhLyVbHH0AGy3lwBTNeyrGNLyOjo4+vGOemyRn tRjFmScmRMO2iZMgTCLcnk/mwhvDMVb3hptXZ9lBg8YlRyKKRUgXcotr2wuaCxX7qTIs jzTA== X-Gm-Message-State: AGi0PuZEBtbTGhjB5GhTJfLXCrdur6IxXeIyhRPe00JapZJiCyYf9VZf nqI7+DFCZVc8QFv4CO2j6RoB/XtkJwOTGHDrmgn4Jfwf X-Google-Smtp-Source: APiQypIwIhK/p+GW+7JxGxisscJyaP7mNNMkE7PCzJNubluhYHVUazkrgzHPj3XhD0SL+Vn17cmee3U8jsk9Vvznyn0= X-Received: by 2002:a9d:3a45:: with SMTP id j63mr6655207otc.71.1587725496756; Fri, 24 Apr 2020 03:51:36 -0700 (PDT) MIME-Version: 1.0 From: =?UTF-8?Q?Ulrich_Sp=C3=B6rlein?= Date: Fri, 24 Apr 2020 12:51:24 +0200 Message-ID: Subject: SVN Reverse-merges To: freebsd-git@freebsd.org Content-Type: text/plain; charset="UTF-8" X-Rspamd-Queue-Id: 497rZg1PDtz496n X-Spamd-Bar: -- Authentication-Results: mx1.freebsd.org; dkim=none; dmarc=none; spf=pass (mx1.freebsd.org: domain of uspoerlein@gmail.com designates 209.85.210.54 as permitted sender) smtp.mailfrom=uspoerlein@gmail.com X-Spamd-Result: default: False [-2.22 / 15.00]; ARC_NA(0.00)[]; NEURAL_HAM_MEDIUM(-1.00)[-0.999,0]; RCVD_COUNT_TWO(0.00)[2]; FROM_HAS_DN(0.00)[]; RWL_MAILSPIKE_GOOD(0.00)[54.210.85.209.rep.mailspike.net : 127.0.0.18]; R_SPF_ALLOW(-0.20)[+ip4:209.85.128.0/17:c]; TO_MATCH_ENVRCPT_ALL(0.00)[]; MIME_GOOD(-0.10)[text/plain]; PREVIOUSLY_DELIVERED(0.00)[freebsd-git@freebsd.org]; TO_DN_NONE(0.00)[]; RCPT_COUNT_ONE(0.00)[1]; NEURAL_HAM_LONG(-1.00)[-1.000,0]; MIME_TRACE(0.00)[0:+]; RCVD_IN_DNSWL_NONE(0.00)[54.210.85.209.list.dnswl.org : 127.0.5.0]; IP_SCORE(-0.22)[ip: (-0.25), ipnet: 209.85.128.0/17(-0.40), asn: 15169(-0.43), country: US(-0.05)]; FORGED_SENDER(0.30)[uqs@freebsd.org,uspoerlein@gmail.com]; DMARC_NA(0.00)[freebsd.org]; R_DKIM_NA(0.00)[]; FREEMAIL_ENVFROM(0.00)[gmail.com]; ASN(0.00)[asn:15169, ipnet:209.85.128.0/17, country:US]; FROM_NEQ_ENVFROM(0.00)[uqs@freebsd.org,uspoerlein@gmail.com]; RCVD_TLS_ALL(0.00)[]; TO_DOM_EQ_FROM_DOM(0.00)[] X-BeenThere: freebsd-git@freebsd.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Discussion of git use in the FreeBSD project List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 24 Apr 2020 10:51:40 -0000 Hi all I read a bit about what a reverse-merge is supposed to be, but don't quite fully understand what is happening here. We have at least 3000 instances of reverse-merged mergeinfo in the repo. E.g. r181092 ------------------------------------------------------------------------ r181092 | des | 2008-08-01 02:34:37 +0200 (Fri, 01 Aug 2008) | 2 lines Changed paths: M /head/crypto/openssh M /head/crypto/openssh/version.c Ugh. Set svn:mergeinfo correctly. ------------------------------------------------------------------------ Index: head/crypto/openssh =================================================================== --- head/crypto/openssh (revision 181091) +++ head/crypto/openssh (revision 181092) Property changes on: head/crypto/openssh ___________________________________________________________________ Modified: svn:mergeinfo ## -0,1 +0,0 ## Reverse-merged /head/crypto/openssh:r53875-164146 Note that it always _removes_ the Reverse-merged svn:mergeinfo. I think for a more recent example like r357366 it's pretty straightforward that it's a backout of a previous merge. How should this be dealt with in git? I think re-merging to a previous point of the git branch would lead to very hard to understand history. I wonder if hoisting all the svn:mergeinfo into git notes would be feasible and useful. And then what are we to make of things like r345068? It "merely" renames/moves a directory within head but deletes 20 lines of Reverse-merges in the process? I guess it has to delete that mergeinfo, as the directory is being deleted (well, moved). Cheers Uli From owner-freebsd-git@freebsd.org Fri Apr 24 20:23:45 2020 Return-Path: Delivered-To: freebsd-git@mailman.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.nyi.freebsd.org (Postfix) with ESMTP id CC1D42C15F0 for ; Fri, 24 Apr 2020 20:23:45 +0000 (UTC) (envelope-from carpeddiem@gmail.com) Received: from mail-il1-f175.google.com (mail-il1-f175.google.com [209.85.166.175]) (using TLSv1.3 with cipher TLS_AES_128_GCM_SHA256 (128/128 bits) server-signature RSA-PSS (4096 bits) client-signature RSA-PSS (2048 bits) client-digest SHA256) (Client CN "smtp.gmail.com", Issuer "GTS CA 1O1" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4985Gn53G3z44pM; Fri, 24 Apr 2020 20:23:45 +0000 (UTC) (envelope-from carpeddiem@gmail.com) Received: by mail-il1-f175.google.com with SMTP id t12so10516390ile.9; Fri, 24 Apr 2020 13:23:45 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:references:in-reply-to:from:date :message-id:subject:to:cc:content-transfer-encoding; bh=yGdpAGz+pJfvplJtsvuVwODGOoOveal42MHBmpeK/XU=; b=HHmnR6ti5jv/BI8sODi09KTzEfyZblc0DaXoskdPUGNdvp4sYSTkI5O72FarSxOzn9 RWGOkXr/7ZTfAgr097u6nMYIUThAcz1otfrJ3PhRhSEezvXRigPu4wHeIbXnwf0wIztu L+o8vFP9zIwoMdZarNhIycCRVBWSuV5F9Jp5h8MKLwC8P7r39Hfbx+OPYBFxT3ahgFLx i79x87e/HoYRqIxsGEV8SBO7/Oh1fkNCRMDBB2PfY60ta8oUlzNFnOMgk/3UBcpL418a xUuiuDGjIfm7CPVncmMDqjyXK+2b4gvRT47uO6eMhZkD7I5Ik5pBmC2v0g+bf47r6bM6 16HQ== X-Gm-Message-State: AGi0PuZUuTf5ehct7ZbQWINM+vD393FwHAIgHVp98+lZOcZaXC5O/GX0 uP/avRLDr18x++sKHRC4UcYSxoJJfb6VNJ5RkXQOcPE8 X-Google-Smtp-Source: APiQypLpv8i8xiPPLQtc9dVx/4Q/V9Zq66Mqy7aRVBDRkpqLz07uGoabt/Lumcsbt9UtOPicbvTWYAs0Pv1DqZ0NvCw= X-Received: by 2002:a05:6e02:141:: with SMTP id j1mr10813256ilr.100.1587759823798; Fri, 24 Apr 2020 13:23:43 -0700 (PDT) MIME-Version: 1.0 References: In-Reply-To: From: Ed Maste Date: Fri, 24 Apr 2020 16:23:32 -0400 Message-ID: Subject: Re: SVN Reverse-merges To: =?UTF-8?Q?Ulrich_Sp=C3=B6rlein?= Cc: freebsd-git@freebsd.org Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable X-Rspamd-Queue-Id: 4985Gn53G3z44pM X-Spamd-Bar: ----- Authentication-Results: mx1.freebsd.org; none X-Spamd-Result: default: False [-6.00 / 15.00]; NEURAL_HAM_MEDIUM(-1.00)[-1.000,0]; REPLY(-4.00)[]; NEURAL_HAM_LONG(-1.00)[-1.000,0] X-BeenThere: freebsd-git@freebsd.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Discussion of git use in the FreeBSD project List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 24 Apr 2020 20:23:45 -0000 On Fri, 24 Apr 2020 at 06:51, Ulrich Sp=C3=B6rlein wrote: > > I think for a more recent example like r357366 it's pretty > straightforward that it's a backout of a previous merge. How should > this be dealt with in git? I think re-merging to a previous point of > the git branch would lead to very hard to understand history. Right, I think this should just be ignored in the git conversion, just appear as a regular commit. > I wonder if hoisting all the svn:mergeinfo into git notes would be > feasible and useful. I don't think it's useful. > And then what are we to make of things like r345068? It "merely" > renames/moves a directory within head but deletes 20 lines of > Reverse-merges in the process? I guess it has to delete that > mergeinfo, as the directory is being deleted (well, moved). I think a change like r345068 should also be handled without anything special related to mergeinfo.