All of lore.kernel.org
 help / color / mirror / Atom feed
From: "Eric S. Raymond" <esr@thyrsus.com>
To: Martin Langhoff <martin.langhoff@gmail.com>
Cc: Andreas Krey <a.krey@gmx.de>, Git Mailing List <git@vger.kernel.org>
Subject: Re: I have end-of-lifed cvsps
Date: Thu, 12 Dec 2013 22:38:34 -0500	[thread overview]
Message-ID: <20131213033833.GB20850@thyrsus.com> (raw)
In-Reply-To: <CACPiFCLJfefNaPYtCXd21fO-ztmaaX6xdz1TtcMdYc0y19t56g@mail.gmail.com>

Martin Langhoff <martin.langhoff@gmail.com>:
> On Thu, Dec 12, 2013 at 6:04 PM, Eric S. Raymond <esr@thyrsus.com> wrote:
> > I'm not sure what counts as a nonsensical branching point. I do know that
> > Keith left this rather cryptic note in a REAME:
> 
> Keith names exactly what we are talking about.

Oh, yeah, I figured that much out.  What I wasn't clear on was (a) whether
that's a complete description of "nonsensical branching point" or whether there
are other pathologies fundamentally *different* from that one.

I'm also not sure I have the end state of what cvs-fast-export does in that
case visualized correctly. When he says: "an entirely disjoint history will
be created containing the branch revisions and all parents back to the
root", I'm visualizing something like this:

  a----b----c----d----e----f----g----h
                  \
                   +----1----2----3---4

Suppose the root is a our pathological branch point is at d, then it
sounds like he's saying cvs-fast-export will produce a changeset DAG
that looks like this:

  a----b'---c'---d'---e----f----g----h
   \
    +----b''---c''---d''----1----2----3----4

What I'm not clear on here is how b is related to b' and b'', c to c' and c'',
and d to d' and d''.  Which file changes go to which commit?  I shall have to
craft some broken RCS files to find out.

Have I explained that I'm building a test suite?  I intend to know exactly
what the tool does in these cases and document it.

> Between my earlier explanation and Keith's notes it should be clear to
> you. It is absolutely trivial in CVS to have an "inconsistent"
> checkout (for example, if you switch branch with the -l parameter
> disabling recursion, or if you accidentally switch branch in a
> subdirectory).

That last one sounds easy to fall into and nasty. 

> On that inconsistent checkout, nothing prevents you from tagging it,
> nor from creating a new branch.
> 
> An importer with a 'consistent tree mentality' will look at the
> files/revs involved in that tag (or branching point) and find no tree
> to match.
> 
> CVS repos with that crap exist. x11/xorg did (Jim Gettys challenged me
> to try importing it at an LCA, after the Bazaar NG folks passed on
> it). Mozilla did as well.
> 
> 
> IMHO it is a valid path to skip importing the tag/branch. As long as
> main dev work was in HEAD, things end up ok (which goes back to my
> flying fish notes).

The other way to handle it would be to translate the history as though every
branch of a file subset had been an attempt to branch eveything.
-- 
		<a href="http://www.catb.org/~esr/">Eric S. Raymond</a>

  reply	other threads:[~2013-12-13  3:38 UTC|newest]

Thread overview: 48+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2013-12-12  0:17 I have end-of-lifed cvsps Eric S. Raymond
2013-12-12  3:38 ` Martin Langhoff
2013-12-12  4:26   ` Eric S. Raymond
2013-12-12 13:42     ` Martin Langhoff
2013-12-12 17:17       ` Andreas Krey
2013-12-12 17:26         ` Martin Langhoff
2013-12-12 18:35           ` Eric S. Raymond
2013-12-12 18:29         ` Eric S. Raymond
2013-12-12 19:08           ` Martin Langhoff
2013-12-12 19:39             ` Eric S. Raymond
2013-12-12 19:48               ` Martin Langhoff
2013-12-12 20:58                 ` Eric S. Raymond
2013-12-12 22:51                   ` Martin Langhoff
2013-12-12 23:04                     ` Eric S. Raymond
2013-12-13  2:35                       ` Martin Langhoff
2013-12-13  3:38                         ` Eric S. Raymond [this message]
2013-12-12 18:15       ` Eric S. Raymond
2013-12-12 18:53         ` Martin Langhoff
2013-12-17 10:57       ` Jakub Narębski
2013-12-17 11:18         ` Johan Herland
2013-12-17 14:58           ` Eric S. Raymond
2013-12-17 17:52             ` Johan Herland
2013-12-17 18:47               ` Eric S. Raymond
2013-12-17 21:26                 ` Johan Herland
2013-12-17 22:41                   ` Eric S. Raymond
2013-12-18 23:44                 ` Michael Haggerty
2013-12-19  1:11                   ` Johan Herland
2013-12-19  9:31                     ` Michael Haggerty
2013-12-19 15:26                       ` Johan Herland
2013-12-19 16:18                         ` Michael Haggerty
2013-12-19  4:06                   ` Eric S. Raymond
2013-12-19  9:43                     ` Michael Haggerty
2013-12-17 14:07         ` Eric S. Raymond
2013-12-17 19:58           ` Jakub Narębski
2013-12-17 21:02             ` Eric S. Raymond
2013-12-18  0:02               ` Jakub Narębski
2013-12-18  0:21                 ` Eric S. Raymond
2013-12-18 15:39                   ` Jakub Narębski
2013-12-18 16:23                     ` incremental fast-import and marks (Re: I have end-of-lifed cvsps) Jonathan Nieder
2013-12-18 16:27                     ` I have end-of-lifed cvsps Eric S. Raymond
2013-12-18 16:53                       ` Martin Langhoff
2013-12-18 19:54                         ` John Keeping
2013-12-18 20:20                           ` Eric S. Raymond
2013-12-18 20:47                             ` Kent R. Spillner
2013-12-18 17:46                       ` Jeff King
2013-12-18 19:16                         ` Eric S. Raymond
2013-12-18  0:04               ` Andreas Schwab
2013-12-18  0:25                 ` Eric S. Raymond

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

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

  git send-email \
    --in-reply-to=20131213033833.GB20850@thyrsus.com \
    --to=esr@thyrsus.com \
    --cc=a.krey@gmx.de \
    --cc=git@vger.kernel.org \
    --cc=martin.langhoff@gmail.com \
    /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.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.