From owner-freebsd-git@freebsd.org Tue Dec 22 09:00: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 4DF254B8518 for ; Tue, 22 Dec 2020 09:00:45 +0000 (UTC) (envelope-from uqs@freebsd.org) Received: from acme.spoerlein.net (acme.spoerlein.net [IPv6:2a05:fc87:1:5::15]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (2048 bits) client-digest SHA256) (Client CN "www.spoerlein.net", Issuer "R3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4D0Vg06Mq2z3jZ7 for ; Tue, 22 Dec 2020 09:00:44 +0000 (UTC) (envelope-from uqs@freebsd.org) Received: from localhost (acme.spoerlein.net [IPv6:2a05:fc87:1:5:0:0:0:15]) by acme.spoerlein.net (8.16.1/8.15.2) with ESMTPS id 0BM90OZg044408 (version=TLSv1.3 cipher=TLS_AES_256_GCM_SHA384 bits=256 verify=NO); Tue, 22 Dec 2020 10:00:25 +0100 (CET) (envelope-from uqs@freebsd.org) Date: Tue, 22 Dec 2020 10:00:24 +0100 From: Ulrich =?utf-8?B?U3DDtnJsZWlu?= To: Chris Cc: freebsd-git Subject: Re: This may be a bit late in the game, but might this b any help? Message-ID: References: MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii; format=flowed Content-Disposition: inline In-Reply-To: User-Agent: Mutt/2.0.1 (2020-11-14) X-Rspamd-Queue-Id: 4D0Vg06Mq2z3jZ7 X-Spamd-Bar: / Authentication-Results: mx1.freebsd.org; none X-Spamd-Result: default: False [0.00 / 15.00]; ASN(0.00)[asn:39540, ipnet:2a05:fc87::/32, country:CH]; local_wl_from(0.00)[freebsd.org] X-BeenThere: freebsd-git@freebsd.org X-Mailman-Version: 2.1.34 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, 22 Dec 2020 09:00:45 -0000 On Mon, 2020-12-21 at 13:27:02 -0800, Chris wrote: >Maybe others have already examined this[1]. I forgot I had a copy. > >eposurgeon - a repository surgeon > >reposurgeon enables risky operations that version-control systems don't >want to let you do, such as (a) editing past comments and metadata, >(b) excising commits, (c) coalescing commits, and (d) removing files >and subtrees from repo history. The original motivation for >reposurgeon was to clean up artifacts created by repository >conversions. > >reposurgeon is also useful for scripting very high-quality conversions >from Subversion. It is better than git-svn at tag lifting, >automatically cleaning up cvs2svn conversion artifacts, dealing with >nonstandard repository layouts, recognizing branch merges, handling >mixed-branch commits, and generally at coping with Subversion's many >odd corner cases. Normally Subversion repos should be analyzed at a >rate of upwards of ten thousand commits per minute. > >repodiffer is a program that reports differences between repository >histories. It uses a diff(1)-like algorithm to identify spans of >identical revisions, and to pick out revisions that have been >changed or deleted or inserted. It may be useful for comparing the >output of different repository-conversion tools in detail. > >Another auxiliary program, repopuller, assists in mirroring Subversion >repositories. Thanks, but that is a bit late, yeah. I've been working on the converter for the last 10 years ... I had another look at reposurgeon about a year ago and couldn't make heads or tails of it. A straightforward conversion worked, but re-produced all the cvs2svn non-sense, so I figure an elaborate ruleset would've been required anyway. Take a look at https://github.com/freebsd/git_conv/blob/master/freebsd-base.rules to get a sense of what is needed. Cheers Uli