unofficial mirror of emacs-devel@gnu.org 
 help / color / mirror / code / Atom feed
From: "Eric S. Raymond" <esr@thyrsus.com>
To: Paul Eggert <eggert@cs.ucla.edu>
Cc: emacs-devel@gnu.org
Subject: Re: Converted git repository available for review
Date: Sat, 22 Mar 2014 00:29:21 -0400	[thread overview]
Message-ID: <20140322042921.GA29817@thyrsus.com> (raw)
In-Reply-To: <532D057D.9050305@cs.ucla.edu>

Paul Eggert <eggert@cs.ucla.edu>:
> Eric S. Raymond wrote:
> >What I've
> >done is treat the Bazaar ignore files as authoritative for those
> >revisions during which Bazaar was in use, ignoring .gitignores during
> >that period.  The other major possibility would be to simply remove
> >.bzrignores where .gitignore files exist.
> 
> Sorry, I'm not really following all that, as I haven't read the lift
> script.  Still, it puzzles me that the result is a .gitignore that
> has the wrong data in it, in the sense that it has an arch tag,
> something that is clearly wrong since we went through and removed
> those.  If we're generating .gitignore files from .bzrignore files,
> and if the .bzrignore file just before the bzr-to-git transition
> lacks an arch tag, why would the .gitignore file after the
> transition have it?  And if we're using some other process to
> generate the .gitignore file, then how did it manage to keep the
> arch tags even though we removed them?

I don't know. Maybe we can figure it out together.

Let me explain in detail what is currently happening and why.

First, why: the conversion goal is to make the entire history
convenient for git browsing - that is, as though git had neen in use
all along.

For our purposes, the history has two sections: pre-bzr and post-bzr.
In the pre-bzr section it is pretty clear what to do, because .cvsignore
files are upward-compatible to .gitignores.  So we just rename them.

Policy for the post-bzr-changeover section is a little trickier.
There are three kinds of relevant files in that section; leftover
.cvsignores (presumably never modified afther the switch to bzr),
.bzrignore files, and .gitignore files.

Simply discarding the .cvsignore revisions after that point makes sense. 
The information in them is stale. Neither bzr nor git uses them.  They're
just clutter.

It's also clear enough what to do when a revision has .bzrignres but no 
.gitignores - syntax-translate the .bzrignores (which is trivial) and
rename them.

The issue is what to do when a revision has both .bzrignores and
.gitignores.  The pfresent policy is to treat each .bzrignore with
a matching.gitignore as authoritative; that is, the .bzrignore 
is translated and overwites the .gitignore.

The arch tag you're seeing must have been removed in .gitigores but not
in .bzrignores.  Other than the (trivial) bar-to-git syntax change
I'm not messing with the data or trying to do anything clever.

#
# IGNORE FILES
#
# Remove every .cvsignore not older than when .gitignores were
# first added.  Then rename all remaining (older) .cvsignores to
# corresponding .gitignore paths; the syntax is upward-compatible.
# The date marks the introduction of .gitignore files.
#
<2009-02-03T23:32:38Z>..$ expunge /\.cvsignore$/
path (.*)/\.cvsignore$ rename \1/.gitignore
#
# Then treat .bzrignore files as authoritative, after changing leading
# "./" to "/".  (The only other syntax incompatibility is "RE:", which
# the Emacs repository never uses.) The date marks the introduction of
# .bzrignore files.
#
<2009-12-27T21:38:14Z>..$ expunge /\.gitignore$/
=B & [/\.bzrignore$/] filter --regex :^\./:/:
path (.*)/\.bzrignore$ rename \1/.gitignore

> How about if we fix the .bzrignore and .gitignore files to agree
> now, by hand, so that this part of the bzr-to-git transition is a
> no-op?

That might make sense after 24.4
-- 
		<a href="http://www.catb.org/~esr/">Eric S. Raymond</a>



  parent reply	other threads:[~2014-03-22  4:29 UTC|newest]

Thread overview: 38+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2014-03-21 20:00 Converted git repository available for review Eric S. Raymond
2014-03-21 22:00 ` Stefan
2014-03-21 22:12   ` Eric S. Raymond
2014-03-21 22:06 ` Juanma Barranquero
2014-03-22  1:00 ` Paul Eggert
2014-03-22  3:00   ` Eric S. Raymond
2014-03-22  3:37     ` Paul Eggert
2014-03-22  3:42       ` Juanma Barranquero
2014-03-22  4:29       ` Eric S. Raymond [this message]
2014-03-22 14:56         ` Paul Eggert
2014-03-22 18:47           ` Eric S. Raymond
2014-03-24  9:24             ` .gitignore and .bzrignore files Nicolas Richard
2014-03-24 10:38               ` Eric S. Raymond
2014-03-24 11:53                 ` Stephen J. Turnbull
2014-03-24 15:54                 ` Nicolas Richard
2014-03-24 22:44               ` Achim Gratz
2014-03-22  4:41 ` Converted git repository available for review Juanma Barranquero
2014-03-22  7:32   ` Stephen J. Turnbull
2014-03-22  7:38     ` David Kastrup
2014-03-22  7:35   ` Eli Zaretskii
2014-03-22 11:48     ` Juanma Barranquero
2014-03-22  9:12   ` Eric S. Raymond
2014-03-22 11:47     ` Juanma Barranquero
2014-03-22  9:40   ` Andreas Schwab
2014-03-22  8:02 ` Andreas Schwab
2014-03-22  9:20   ` Eric S. Raymond
2014-03-22  9:44     ` Andreas Schwab
2014-03-22 11:03       ` Eric S. Raymond
2014-03-24 22:33         ` James Cloos
2014-03-24 22:39           ` Eric S. Raymond
2014-03-25  7:57             ` David Kastrup
2014-03-25 10:54               ` Eric S. Raymond
2014-03-25 11:04                 ` David Kastrup
2014-03-25 11:32                   ` Eric S. Raymond
2014-03-25 11:39                     ` David Kastrup
2014-03-25 11:50                       ` Eric S. Raymond
2014-03-25 12:47                   ` Phillip Lord
2014-03-25 13:04                     ` David Kastrup

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

  List information: https://www.gnu.org/software/emacs/

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20140322042921.GA29817@thyrsus.com \
    --to=esr@thyrsus.com \
    --cc=eggert@cs.ucla.edu \
    --cc=emacs-devel@gnu.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
Code repositories for project(s) associated with this public inbox

	https://git.savannah.gnu.org/cgit/emacs.git

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).