From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 49277 invoked by alias); 19 Dec 2019 00:46:38 -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 49268 invoked by uid 89); 19 Dec 2019 00:46:37 -0000 Authentication-Results: sourceware.org; auth=none X-Spam-SWARE-Status: No, score=-1.3 required=5.0 tests=AWL,BAYES_00,SPF_HELO_PASS,SPF_PASS autolearn=ham version=3.3.1 spammy=admitted, expertise, horrible, polishing 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; Thu, 19 Dec 2019 00:46:36 +0000 Received: by snark.thyrsus.com (Postfix, from userid 1000) id 6767347049F2; Wed, 18 Dec 2019 19:46:34 -0500 (EST) Date: Thu, 19 Dec 2019 00:46:00 -0000 From: "Eric S. Raymond" To: Jeff Law Cc: Segher Boessenkool , Joseph Myers , Mark Wielaard , Maxim Kuvyrkov , "Richard Earnshaw (lists)" , gcc@gcc.gnu.org Subject: Re: Proposal for the transition timetable for the move to GIT Message-ID: <20191219004634.GA18966@thyrsus.com> Reply-To: esr@thyrsus.com References: <9E009921-96EA-44A2-A06A-232711227E69@linaro.org> <0fb81074d87c96b3312565800b8bfc25cfcbe179.camel@redhat.com> <20191216215927.GG3152@gate.crashing.org> <20191216224244.GI3152@gate.crashing.org> <5ea5dd673eb006dd84af7e47fcbab53a15e8005d.camel@redhat.com> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <5ea5dd673eb006dd84af7e47fcbab53a15e8005d.camel@redhat.com> User-Agent: Mutt/1.10.1 (2018-07-13) X-IsSubscribed: yes X-SW-Source: 2019-12/txt/msg00292.txt.bz2 Jeff Law : > But it's not that freshly constructed, at least not in my mind. All > the experience ESR has from the python implementation carries to the Go > implementation. Not only do you have reposurgeon, you have me. I wish this mattered less than it does. I have *far* more experience doing big, messy repository moves than anybody else. I try to exteriorize that knowledge into the reposurgeon code and documents as much as I can, but as with other kinds of expertise a lot of it is implicit knowledge that is only elicited by practice and answering questions. On small conversions of clean repositories such implicit expertise doesn't matter too much. You may be able to pull off a once-and-done with the tools, especially if they're my tools and you've read all my stuff on good practice. As an example, the CVS-to-git conversion of groff didn't really need me. Lifts from CVS are normally horrible, but the groff devs were the best I've ever seen at not leaving debris from operator errors in the history. Any of them could have read my docs and done a clean coversion in two hours. Only...there was no way to way to know that in advance. The odds were heavily against it. Emacs was, and GCC is, the messy opposite case. You guys needed a seasoned "I know these things so you don't have to" expert more than you will probably ever really understand. And, sadly, there aren't any others but me yet. Nobody else has been interested enough in the problem to invest the time. > Where I think we could have done better would have been to get more > concrete detail from ESR about the problems with git-svn. That was > never forthcoming and it's a disappointment. Maybe some of the recent > discussions are in fact related to these issues and I simply missed > that point. I posted this link before: http://esr.ibiblio.org/?p=6778 I can't actually tell you much more than that. Actually, if I understood git-svn's failure modes in enough detail to tell you more I might be less frightened of it. Mostly what I know is that during several other conversions I have stumbled across trails of metadata damage for which use of git-svn seems to have been to blame. Though, admittedly, I'm not certain of that in any individual case; the ways git-svn screws up are not necessarily disinguishable from the aftereffects of cvs2svn conversion damage, or from normal kinds of operator error. Overall, though, defect rates seemed noticeably higher when git-svn had been used as a front end. I learned to flinch when people wanting me to do a full conversion of an SVN repo admitted git-svn had been deployed, even though I was hard-put to explain why I was flinching. > I do think we've gotten some details about the "scar tissue" from the > cvs->svn transition as well as some of our branch problems. It's my > understanding reposurgeon cleans this up significantly whereas Maxim's > scripts don't touch this stuff IIUC. That's correct. And again, no blame to Maxim for this; he took a conventional approach that does as little analysis as it can get away with, which can be a good tradeoff on smaller, cleaner repositories without a CVS back-history. > There's still > work going on, but I'd consider the outstanding issues nits and well > within the scope of what can reasonably still be changing. Issue list here: https://gitlab.com/esr/reposurgeon/issues?scope=all&utf8=%E2%9C%93&state=opened&label_name[]=GCC Presently 6 items including 2 bugs. One of those bugs may already be fixed, we're waiting on Joseph's current conversion to see. Counting time do all the RFEs requested, polishing, and final review I think we're looking at another week, maybe a bit less if things go well. You guys could get a final conversion under your Yule tree. -- Eric S. Raymond