From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!not-for-mail From: "Eric S. Raymond" Newsgroups: gmane.emacs.devel Subject: Goals for repo conversion day Date: Sat, 25 Jan 2014 09:06:38 -0500 Organization: Eric Conspiracy Secret Labs Message-ID: <20140125140637.GA5631@thyrsus.com> References: <20140124162937.8699D38155C@snark.thyrsus.com> <87r47xs552.fsf@igel.home> <20140124170751.GA23376@thyrsus.com> <87mwils3b3.fsf@igel.home> <20140124185429.GA25191@thyrsus.com> <83k3dpcbpe.fsf@gnu.org> <20140125062551.GA2554@thyrsus.com> <83bnz0cxp8.fsf@gnu.org> Reply-To: esr@thyrsus.com NNTP-Posting-Host: plane.gmane.org Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii X-Trace: ger.gmane.org 1390658817 5202 80.91.229.3 (25 Jan 2014 14:06:57 GMT) X-Complaints-To: usenet@ger.gmane.org NNTP-Posting-Date: Sat, 25 Jan 2014 14:06:57 +0000 (UTC) Cc: schwab@linux-m68k.org, emacs-devel@gnu.org To: Eli Zaretskii Original-X-From: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Sat Jan 25 15:07:01 2014 Return-path: Envelope-to: ged-emacs-devel@m.gmane.org Original-Received: from lists.gnu.org ([208.118.235.17]) by plane.gmane.org with esmtp (Exim 4.69) (envelope-from ) id 1W73sz-0000cU-BD for ged-emacs-devel@m.gmane.org; Sat, 25 Jan 2014 15:07:01 +0100 Original-Received: from localhost ([::1]:51303 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1W73sy-00025t-SI for ged-emacs-devel@m.gmane.org; Sat, 25 Jan 2014 09:07:00 -0500 Original-Received: from eggs.gnu.org ([2001:4830:134:3::10]:52757) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1W73sr-00024m-DG for emacs-devel@gnu.org; Sat, 25 Jan 2014 09:06:58 -0500 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1W73sm-0000RU-ET for emacs-devel@gnu.org; Sat, 25 Jan 2014 09:06:53 -0500 Original-Received: from static-71-162-243-5.phlapa.fios.verizon.net ([71.162.243.5]:40600 helo=snark.thyrsus.com) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1W73se-0000Hj-BT; Sat, 25 Jan 2014 09:06:43 -0500 Original-Received: by snark.thyrsus.com (Postfix, from userid 1000) id 2F57938277F; Sat, 25 Jan 2014 09:06:38 -0500 (EST) Content-Disposition: inline In-Reply-To: <83bnz0cxp8.fsf@gnu.org> X-Eric-Conspiracy: There is no conspiracy User-Agent: Mutt/1.5.21 (2010-09-15) X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.2.x-3.x [generic] X-Received-From: 71.162.243.5 X-BeenThere: emacs-devel@gnu.org X-Mailman-Version: 2.1.14 Precedence: list List-Id: "Emacs development discussions." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Original-Sender: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Xref: news.gmane.org gmane.emacs.devel:169057 Archived-At: Eli Zaretskii : > I actually don't understand why you are doing a separate new > conversion, instead of relying on what Andreas already did. AFAIR, > there was no serious discussions of this, and certainly no decision > (except, perhaps, by you). I am in fact relying on what Andreas already did, not re-lifting the CVS or Bazaar histories. But it has some significant problems: 1. Unlifted Bazaar and CVS commit references. 2. CVS commit cliques that should have been coalesced but were not, probably because the time window was defaulted too small when parsecvs was run. (Very often these seem to be a pairs of a change and its ChangeLog description with an empty comment.) 3. Multiple roots. Two of the multiples are emacs and elpa, but others are junk lost+found branches which should be carefully inspected and then (probably) removed. 4. Obsolete tags (very minor problem, unlike the previous three easily fixed in git itself, but I might as well do it while larger cleanups are in progress). 5. Unconverted .bzrignores (and possibly .cvsignores) in the history. Andreas is not to blame for these problems; the tools available to him were deficient in a number of respects (I had not yet written reposurgeon at the time of the move to Bazaar). These are all normal issues which I've seen before in over a dozen large conversions. But I want Emacs to have a really high-quality conversion. It is a project for the ages, one of the great artifacts of hacker culture, and I feel the history deserves the kind of careful cleaning and restoration one would give to an Old Master painting. My quality goals for it include: (a) Seamless history browsing. A person looking at the development of the code should not be distracted by artifacts of VCS changes. This means clean, properly unified changesets all the way back, properly converted ignore files all the way back, and commit references that are not just opaque cookies left over from previous VCSes. (b) Information preservation for any future move to another VCS. The main implication of this goal is not replacing fossil references with git hashes, as these would present the same problems then that Bazaar references do now. (c) Cryptosigning so that future release integrity is protected and historical release reconstructions can be trusted (that is, assuming we don't believe the code history has already been corrupted). (d) Avoidance of metadata representations that are easily stripped or scrambled if someone gets momentarily forgetful in the future. This is why I don't want to rely on lightweight tags or git notes. -- Eric S. Raymond