Date: Tue, 5 May 2020 10:05:19 +0200 From: =?UTF-8?Q?Ulrich_Sp=C3=B6rlein?= <uqs@freebsd.org> To: Ed Maste <emaste@freebsd.org> Cc: freebsd-git@freebsd.org, "portmgr@FreeBSD.org" <portmgr@freebsd.org> Subject: Re: cvs2svn made lots of old ports tags basically empty Message-ID: <CAJ9axoQKPRsDApNBZ2uQ4N2ys0L_e7aHjWX2qGo%2BycvSG2k3Yg@mail.gmail.com> In-Reply-To: <CAPyFy2BY%2BgXc9A-J=oLh_akfb4%2BedaPE5Rd-PoTqx4To9hXL6A@mail.gmail.com> References: <CAJ9axoTvFskmDGawUnGGMQRWmM2=PBiCghPVzE8%2B3R1P-3na3g@mail.gmail.com> <CAPyFy2BY%2BgXc9A-J=oLh_akfb4%2BedaPE5Rd-PoTqx4To9hXL6A@mail.gmail.com>
next in thread | previous in thread | raw e-mail | index | archive | help
Am Mo., 4. Mai 2020 um 20:50 Uhr schrieb Ed Maste <emaste@freebsd.org>: > > On Sat, 2 May 2020 at 11:09, Ulrich Sp=C3=B6rlein <uqs@freebsd.org> wrote= : > > > > Note that it copies the root, but then deletes everything _but_ Mk. I > > take it this is not what was wanted and the release tags are supposed > > to ship a full tree, not just Mk? > > I presume so. I think we'd need to look at the CVS version of the repo > to determine what happened here. > > I wonder if we can just skip these old tags in the conversion though? > If they were already broken by cvs2svn we probably don't need them > now. Parts of the "back outs" are repo-copies for sure. Consider this tag of 2.2.1 in 1997 (I don't think postgresql 9.2 was a thing back then ...) r7590 | cvs2svn | 1997-08-15 17:44:59 +0200 (Fri, 15 Aug 1997) | 1 line Changed paths: A /tags/RELEASE_2_2_1 (from /head:5975) D /tags/RELEASE_2_2_1/CVSROOT D /tags/RELEASE_2_2_1/Mk D /tags/RELEASE_2_2_1/archivers/sharutils D /tags/RELEASE_2_2_1/audio/speak_freely D /tags/RELEASE_2_2_1/audio/vat D /tags/RELEASE_2_2_1/benchmarks/unixbench D /tags/RELEASE_2_2_1/comms/mgetty+sendfax/files/mgettycfg.in D /tags/RELEASE_2_2_1/databases/msql3 D /tags/RELEASE_2_2_1/databases/p5-DBI-137 D /tags/RELEASE_2_2_1/databases/postgresql-devel D /tags/RELEASE_2_2_1/databases/postgresql-devel-server D /tags/RELEASE_2_2_1/databases/postgresql73 D /tags/RELEASE_2_2_1/databases/postgresql73-server D /tags/RELEASE_2_2_1/databases/postgresql74-server D /tags/RELEASE_2_2_1/databases/postgresql80-server D /tags/RELEASE_2_2_1/databases/postgresql81-server D /tags/RELEASE_2_2_1/databases/postgresql82-server D /tags/RELEASE_2_2_1/databases/postgresql83-server D /tags/RELEASE_2_2_1/databases/postgresql84-server D /tags/RELEASE_2_2_1/databases/postgresql90-server D /tags/RELEASE_2_2_1/databases/postgresql91-server D /tags/RELEASE_2_2_1/databases/postgresql92-server Which means it shouldn't end up in the tag, but then again, it should also not be in head at that point in time. And that tag is utterly useless w/o the Mk/, which sadly also gets deleted (did we ever repo-copy this around?). This affects all tags up to and including 3.0.0; the 3.1.0 tag looks more sane. I've patched this up in a way I think that makes sense, but really, portmgr needs to bless this. It should be ok to have the "extra" directories there, as they are not hooked up to the category Makefile (IIUC), it would also be possible to go in, detect all ports-repocopies at least for the release tags and delete the extras. Should be straight-forward to script, but it would need to be done by someone else. For ports especially, the state is easy enough to detect, e.g. % git ls-tree -r release/2.2.1|egrep "postgresql.*server"|sort 100644 blob 2743afb2583571c35102bf8eaaea63811cb418bc databases/postgresql-devel-server/pkg-descr 100644 blob 2743afb2583571c35102bf8eaaea63811cb418bc databases/postgresql73-server/pkg-descr 100644 blob 2743afb2583571c35102bf8eaaea63811cb418bc databases/postgresql74-server/pkg-descr 100644 blob 2743afb2583571c35102bf8eaaea63811cb418bc databases/postgresql80-server/pkg-descr 100644 blob 2743afb2583571c35102bf8eaaea63811cb418bc databases/postgresql81-server/pkg-descr 100644 blob 2743afb2583571c35102bf8eaaea63811cb418bc databases/postgresql82-server/pkg-descr 100644 blob 2743afb2583571c35102bf8eaaea63811cb418bc databases/postgresql83-server/pkg-descr 100644 blob 2743afb2583571c35102bf8eaaea63811cb418bc databases/postgresql84-server/pkg-descr 100644 blob 2743afb2583571c35102bf8eaaea63811cb418bc databases/postgresql90-server/pkg-descr 100644 blob 2743afb2583571c35102bf8eaaea63811cb418bc databases/postgresql91-server/pkg-descr 100644 blob 2743afb2583571c35102bf8eaaea63811cb418bc databases/postgresql92-server/pkg-descr 100644 blob 43a0ebb2e780459c3f2a8b053a5817a554ab9848 databases/postgresql-devel-server/pkg-plist 100644 blob 43a0ebb2e780459c3f2a8b053a5817a554ab9848 databases/postgresql73-server/pkg-plist 100644 blob 43a0ebb2e780459c3f2a8b053a5817a554ab9848 databases/postgresql74-server/pkg-plist 100644 blob 43a0ebb2e780459c3f2a8b053a5817a554ab9848 databases/postgresql80-server/pkg-plist 100644 blob 43a0ebb2e780459c3f2a8b053a5817a554ab9848 databases/postgresql81-server/pkg-plist 100644 blob 43a0ebb2e780459c3f2a8b053a5817a554ab9848 databases/postgresql82-server/pkg-plist 100644 blob 43a0ebb2e780459c3f2a8b053a5817a554ab9848 databases/postgresql83-server/pkg-plist 100644 blob 43a0ebb2e780459c3f2a8b053a5817a554ab9848 databases/postgresql84-server/pkg-plist 100644 blob 43a0ebb2e780459c3f2a8b053a5817a554ab9848 databases/postgresql90-server/pkg-plist 100644 blob 43a0ebb2e780459c3f2a8b053a5817a554ab9848 databases/postgresql91-server/pkg-plist 100644 blob 43a0ebb2e780459c3f2a8b053a5817a554ab9848 databases/postgresql92-server/pkg-plist 100644 blob 4c24a164fbd6f2794b789df0556480c3806a3e0f databases/postgresql-devel-server/scripts/createuser 100644 blob 4c24a164fbd6f2794b789df0556480c3806a3e0f databases/postgresql73-server/scripts/createuser 100644 blob 4c24a164fbd6f2794b789df0556480c3806a3e0f databases/postgresql74-server/scripts/createuser 100644 blob 4c24a164fbd6f2794b789df0556480c3806a3e0f databases/postgresql80-server/scripts/createuser 100644 blob 4c24a164fbd6f2794b789df0556480c3806a3e0f databases/postgresql81-server/scripts/createuser 100644 blob 4c24a164fbd6f2794b789df0556480c3806a3e0f databases/postgresql82-server/scripts/createuser 100644 blob 4c24a164fbd6f2794b789df0556480c3806a3e0f databases/postgresql83-server/scripts/createuser 100644 blob 4c24a164fbd6f2794b789df0556480c3806a3e0f databases/postgresql84-server/scripts/createuser 100644 blob 4c24a164fbd6f2794b789df0556480c3806a3e0f databases/postgresql90-server/scripts/createuser 100644 blob 4c24a164fbd6f2794b789df0556480c3806a3e0f databases/postgresql91-server/scripts/createuser 100644 blob 4c24a164fbd6f2794b789df0556480c3806a3e0f databases/postgresql92-server/scripts/createuser 100644 blob 55a303f3106a6b5ed65d9fc73ef4cc0f8ecef48c databases/postgresql-devel-server/pkg-comment 100644 blob 55a303f3106a6b5ed65d9fc73ef4cc0f8ecef48c databases/postgresql73-server/pkg-comment 100644 blob 55a303f3106a6b5ed65d9fc73ef4cc0f8ecef48c databases/postgresql74-server/pkg-comment 100644 blob 55a303f3106a6b5ed65d9fc73ef4cc0f8ecef48c databases/postgresql80-server/pkg-comment 100644 blob 55a303f3106a6b5ed65d9fc73ef4cc0f8ecef48c databases/postgresql81-server/pkg-comment 100644 blob 55a303f3106a6b5ed65d9fc73ef4cc0f8ecef48c databases/postgresql82-server/pkg-comment 100644 blob 55a303f3106a6b5ed65d9fc73ef4cc0f8ecef48c databases/postgresql83-server/pkg-comment 100644 blob 55a303f3106a6b5ed65d9fc73ef4cc0f8ecef48c databases/postgresql84-server/pkg-comment 100644 blob 55a303f3106a6b5ed65d9fc73ef4cc0f8ecef48c databases/postgresql90-server/pkg-comment 100644 blob 55a303f3106a6b5ed65d9fc73ef4cc0f8ecef48c databases/postgresql91-server/pkg-comment 100644 blob 55a303f3106a6b5ed65d9fc73ef4cc0f8ecef48c databases/postgresql92-server/pkg-comment 100644 blob 9974efd8df42684a748c41b6287226a7a776982c databases/postgresql-devel-server/files/post-install-notes 100644 blob 9974efd8df42684a748c41b6287226a7a776982c databases/postgresql73-server/files/post-install-notes 100644 blob 9974efd8df42684a748c41b6287226a7a776982c databases/postgresql74-server/files/post-install-notes 100644 blob 9974efd8df42684a748c41b6287226a7a776982c databases/postgresql80-server/files/post-install-notes 100644 blob 9974efd8df42684a748c41b6287226a7a776982c databases/postgresql81-server/files/post-install-notes 100644 blob 9974efd8df42684a748c41b6287226a7a776982c databases/postgresql82-server/files/post-install-notes 100644 blob 9974efd8df42684a748c41b6287226a7a776982c databases/postgresql83-server/files/post-install-notes 100644 blob 9974efd8df42684a748c41b6287226a7a776982c databases/postgresql84-server/files/post-install-notes 100644 blob 9974efd8df42684a748c41b6287226a7a776982c databases/postgresql90-server/files/post-install-notes 100644 blob 9974efd8df42684a748c41b6287226a7a776982c databases/postgresql91-server/files/post-install-notes 100644 blob 9974efd8df42684a748c41b6287226a7a776982c databases/postgresql92-server/files/post-install-notes 100644 blob c0343bd90bf8602451a28bba3d8895f59549517d databases/postgresql-devel-server/Makefile 100644 blob c0343bd90bf8602451a28bba3d8895f59549517d databases/postgresql73-server/Makefile 100644 blob c0343bd90bf8602451a28bba3d8895f59549517d databases/postgresql74-server/Makefile 100644 blob c0343bd90bf8602451a28bba3d8895f59549517d databases/postgresql80-server/Makefile 100644 blob c0343bd90bf8602451a28bba3d8895f59549517d databases/postgresql81-server/Makefile 100644 blob c0343bd90bf8602451a28bba3d8895f59549517d databases/postgresql82-server/Makefile 100644 blob c0343bd90bf8602451a28bba3d8895f59549517d databases/postgresql83-server/Makefile 100644 blob c0343bd90bf8602451a28bba3d8895f59549517d databases/postgresql84-server/Makefile 100644 blob c0343bd90bf8602451a28bba3d8895f59549517d databases/postgresql90-server/Makefile 100644 blob c0343bd90bf8602451a28bba3d8895f59549517d databases/postgresql91-server/Makefile 100644 blob c0343bd90bf8602451a28bba3d8895f59549517d databases/postgresql92-server/Makefile % git ls-tree -r release/2.2.1|egrep "databases/Makefile" 100644 blob d53f752d7966588ffc8846d72ce2841f2e607299 databases/Makefile % git cat-file -p d53f752d7966588ffc8846d72ce2841f2e607299 # $Id: Makefile,v 1.10 1996/10/24 00:02:50 jfitz Exp $ # SUBDIR +=3D exodus SUBDIR +=3D gdbm SUBDIR +=3D gnats SUBDIR +=3D msql SUBDIR +=3D p5-DBD-mSQL SUBDIR +=3D p5-DBI SUBDIR +=3D p5-Msql SUBDIR +=3D p5-Pg SUBDIR +=3D postgres95 SUBDIR +=3D xfsql .include <bsd.port.subdir.mk> See? Only "postgres95" should be there. Hmm, except that doesn't match any of the blobs. Let's see where this stuff came from: databases/postgresql7/Makefile is blob c0343bd90bf8602451a28bba3d8895f59549= 517d and that claims it comes for postgres ca. 1996 % git cat-file -p c0343bd90bf8602451a28bba3d8895f59549517d # New ports collection makefile for: postgres95 # Version required: 1.08 # Date created: Oct 9 1996 # Whom: Matthew Stein <matt@bdd.net> # # $Id: Makefile,v 1.2 1996/09/26 01:40:19 jfitz Exp $ ... Hmm, it's not even there. This might be stranger than I thought? Compare the SUBDIRs above with the directory listing: % git ls-tree release/2.2.1 databases/ 100644 blob d53f752d7966588ffc8846d72ce2841f2e607299 databases/Makefile 040000 tree 2f21209c87b795930ac42df96a4a55cf3094d0d3 databases/gdbm 040000 tree c80f624a8c058d96f6574f5b50d4ea12687a08a1 databases/gnats 040000 tree fdb4de7f9a9356bf9729a0f4da44ac921f4a286f databases/msql 040000 tree fdb4de7f9a9356bf9729a0f4da44ac921f4a286f databases/msql3 040000 tree a59f600d794680c8b6df0aa6a1475a2968d385e6 databases/p5-DBI-13= 7 040000 tree a59f600d794680c8b6df0aa6a1475a2968d385e6 databases/p5-DBI 040000 tree 2ad63299bea9b2becc7ff58907d08dbf3b0382ad databases/p5-Msql 040000 tree 17fa463531776f8d0adc11a8ea23f2a0c351fd68 databases/p5-Pg 040000 tree 95624879e5e003f9c0531209e614d33a86979bdf databases/pkg 040000 tree 9bd099838d36d8a09274ae03bbf50011d0cd4c02 databases/postgresql-devel-server 040000 tree 9bd099838d36d8a09274ae03bbf50011d0cd4c02 databases/postgresql-devel 040000 tree 9bd099838d36d8a09274ae03bbf50011d0cd4c02 databases/postgresq= l7 040000 tree 9bd099838d36d8a09274ae03bbf50011d0cd4c02 databases/postgresql73-server 040000 tree 9bd099838d36d8a09274ae03bbf50011d0cd4c02 databases/postgresq= l73 040000 tree 9bd099838d36d8a09274ae03bbf50011d0cd4c02 databases/postgresql74-server 040000 tree 9bd099838d36d8a09274ae03bbf50011d0cd4c02 databases/postgresql80-server 040000 tree 9bd099838d36d8a09274ae03bbf50011d0cd4c02 databases/postgresql81-server 040000 tree 9bd099838d36d8a09274ae03bbf50011d0cd4c02 databases/postgresql82-server 040000 tree 9bd099838d36d8a09274ae03bbf50011d0cd4c02 databases/postgresql83-server 040000 tree 9bd099838d36d8a09274ae03bbf50011d0cd4c02 databases/postgresql84-server 040000 tree 9bd099838d36d8a09274ae03bbf50011d0cd4c02 databases/postgresql90-server 040000 tree 9bd099838d36d8a09274ae03bbf50011d0cd4c02 databases/postgresql91-server 040000 tree 9bd099838d36d8a09274ae03bbf50011d0cd4c02 databases/postgresql92-server Ah, I think this wasn't a repo-copy then, but instead a repo move! postgres95 got retroactively renamed to postgresqlX at some point in time, thus the history was fouled up. This should've been a repo-copy plus deletion if we had wanted to reserve some semblance of history. I'm afraid that looking at the CVS repo then will not help, as it has been butchered. If someone had all CVS commit mails from back then, it might be reconstructable ... Then again, there were very few ports back then and there are only a handful of tags. So motivated archaeologists could reconstruct this pretty easily with a handful of scripts and a couple of spare weekends. Cheers Uli
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?CAJ9axoQKPRsDApNBZ2uQ4N2ys0L_e7aHjWX2qGo%2BycvSG2k3Yg>