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: Re: Bazaar references complicate the git transition Date: Sat, 11 Jan 2014 16:26:40 -0500 Organization: Eric Conspiracy Secret Labs Message-ID: <20140111212640.GD17111@thyrsus.com> References: <20140111155429.1A12C3803A6@snark.thyrsus.com> <20140111172700.GA16151@thyrsus.com> <83fvou9yyu.fsf@gnu.org> <83eh4e9ysh.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 1389475649 17719 80.91.229.3 (11 Jan 2014 21:27:29 GMT) X-Complaints-To: usenet@ger.gmane.org NNTP-Posting-Date: Sat, 11 Jan 2014 21:27:29 +0000 (UTC) Cc: Eli Zaretskii , Emacs-Devel devel To: David Reitter Original-X-From: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Sat Jan 11 22:27:36 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 1W265f-0007JF-MF for ged-emacs-devel@m.gmane.org; Sat, 11 Jan 2014 22:27:35 +0100 Original-Received: from localhost ([::1]:35527 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1W265d-0002G2-1H for ged-emacs-devel@m.gmane.org; Sat, 11 Jan 2014 16:27:33 -0500 Original-Received: from eggs.gnu.org ([2001:4830:134:3::10]:52124) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1W265W-0002Ff-1P for emacs-devel@gnu.org; Sat, 11 Jan 2014 16:27:30 -0500 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1W265M-0006XU-39 for emacs-devel@gnu.org; Sat, 11 Jan 2014 16:27:25 -0500 Original-Received: from static-71-162-243-5.phlapa.fios.verizon.net ([71.162.243.5]:53556 helo=snark.thyrsus.com) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1W265G-0006TW-U1; Sat, 11 Jan 2014 16:27:10 -0500 Original-Received: by snark.thyrsus.com (Postfix, from userid 1000) id 4305D38085A; Sat, 11 Jan 2014 16:26:40 -0500 (EST) Content-Disposition: inline In-Reply-To: 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:168127 Archived-At: David Reitter : > Eric, > > Here's an idea - why don't you just tag each referenced revision in git with the bzr revision id, e.g., > > git tag 'bzr/115967' de7d9800 > > That would make it trivial and seamless to find a reference later on. > I would update the change log files to use the same bzr/ prefix. > > You can do this after the transition is done, and if people don't like it, they can undo it in the future. > > - David That's certainly a much, much better idea than git notes or a textfile not tied into the VCS at all. In doing these conversions, though, I've become use to thinking like an archivist concerned with very long timescales. I find myself asking questions like this: how is the translation choice I make in *this* VCS conversion going to affect the *next* one, the one we don't foresee? I don't want to be the person that the next guy to do a repository lift curses for shortsightedness. What you're suggesting seems to me like the best medium-timescale choice anyone has offered. But here are some longer-scale problems with it: 1. Tags are much more fragile than IDs in commit comments. They could easily get deleted by someone's typo or moment of inattention. 2. What happens when people have forgotten the syntax of a Bazaar revision ID? It's just a bare decimal integer, after all. Suppose a future VCS also uses commit IDs in this form? Thinking about scenarios like this is why I invented action stamps. This is an action stamp: 2014-01-11T16:22:20!esr@thyrsus.com My practice for the last several conversions I've done has been to change all native revision IDs inline to these timestamp!committer pairs. I think this has good robustness properties. -- Eric S. Raymond