From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 19592 invoked by alias); 25 Sep 2019 20:32:23 -0000 Mailing-List: contact gcc-help@gcc.gnu.org; run by ezmlm Precedence: bulk List-Id: List-Archive: List-Post: List-Help: Sender: gcc-owner@gcc.gnu.org Received: (qmail 19584 invoked by uid 89); 25 Sep 2019 20:32:23 -0000 Authentication-Results: sourceware.org; auth=none X-Spam-SWARE-Status: No, score=-1.0 required=5.0 tests=AWL,BAYES_00,SPF_HELO_PASS,SPF_PASS autolearn=ham version=3.3.1 spammy=extractor, Great, lifting, dive X-HELO: snark.thyrsus.com Received: from thyrsus.com (HELO snark.thyrsus.com) (71.162.243.5) by sourceware.org (qpsmtpd/0.93/v0.84-503-g423c35a) with ESMTP; Wed, 25 Sep 2019 20:32:20 +0000 Received: by snark.thyrsus.com (Postfix, from userid 1000) id C95D04704893; Wed, 25 Sep 2019 16:32:18 -0400 (EDT) Date: Wed, 25 Sep 2019 20:32:00 -0000 From: "Eric S. Raymond" To: gcc@gcc.gnu.org Subject: Reposurgeon status Message-ID: <20190925203218.GA43287@thyrsus.com> Reply-To: esr@thyrsus.com MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline User-Agent: Mutt/1.10.1 (2018-07-13) X-IsSubscribed: yes X-SW-Source: 2019-09/txt/msg00227.txt.bz2 Since the subject of repository conversions has come up, a situation report... I am in the very last stages of qualifying the Go port of reposurgeon. Most importantly to your project, the Go code passed all of the existing regression tests for reading Subversion stream dumps two days ago. That is a big deal, as the stream dump reader was by *far* the trickiest and most bug-prone part to translate. Am now working on debugging a fairly peripheral feature called the extractor harness. This is what you use when a VCS doesn't have a stream dump format and you have to call its CLI and mine the reports from the CLI tools to get out the conyent and metadata. Not needed for the GCC move. The main application for it is actually lifting Mercurial repositories - their export tools are weak and poorly supported. After that I want to get topological sorting of commits working in Go. Also not needed for the GCC move, but I don't want to have any loose ends dangling when I dive back into that. Third and last item, clearing my current bug list. The big one is that last time I looked there was something wrong near execute-bit propagation in interpreting Subversion dumps. But it is actually possible that I've already fixed this in passing while verifying the port - I found a suspicious failure to distinguish between "no property set" and "an empty property set" last week. I think I'm looking at somewhere between 7 and 14 days until I can start work on the GCC move again. Getting to this point has taken a year. However, the hopes of a big speedup look like they'll be borne out. Preliminary indications are that my test runs will be at least 12x faster. In part due to Go and in part due to a new Great Beast, a 16-core Threadripper machine with 128GB ram. Finishing the move should now be within the realm of the practically achievable. -- Eric S. Raymond