git.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: "Eric S. Raymond" <esr@thyrsus.com>
To: "Jakub Narębski" <jnareb@gmail.com>
Cc: Martin Langhoff <martin.langhoff@gmail.com>,
	Git Mailing List <git@vger.kernel.org>
Subject: Re: I have end-of-lifed cvsps
Date: Wed, 18 Dec 2013 11:27:10 -0500	[thread overview]
Message-ID: <20131218162710.GA3573@thyrsus.com> (raw)
In-Reply-To: <CANQwDwdgZUWcgyZCWoDni+e9jgQ+8j0Yn_HMxiMn5OHzsRzjwQ@mail.gmail.com>

Jakub Narębski <jnareb@gmail.com>:
> It is a bit strange that markfile has explicitly SHA-1 (":markid <SHA-1>"),
> instead of generic reference to commit, in the case of CVS it would be
> commitid (what to do for older repositories, though?), in case of Bazaar
> its revision id (GUID), etc.  Can we assume that SCM v1 fast-export and
> SCM v2 fast-import markfile uses compatibile commit names in markfile?

For use in reposurgeon I have defined a generic cross-VCS reference to
commit I call an "action stamp"; it consists of an RFC3339 date followed by 
a committer email address. Here's an example:

	 2013-02-06T09:35:10Z!esr@thyrsus.com

In any VCS with changesets (git, Subversion, bzr, Mercurial) this
almost always suffices to uniquely identify a commit. The "almost" is
because in these systems it is possible for a user to do multiple commits
in the same second.

And now you know why I wish git had subsecond timestamp resolution!  If it
did, uniqueness of these in a git stream could be guaranteed.

The implied model completely breaks for CVS, of course.  There you have to 
use commitids and plain give up when those don't exist.
 
> I think it would be possible for remote-helper for cvs-fast-export to find
> this cutoff date automatically (perhaps with some safety margin), for
> fetching (incremental import).

Yes.
 
> > As I tried to explain previously in my response to John Herland, it's
> > incremental output only.  There is *no* CVS exporter known to me, or
> > him, that supports incremental work.  That would be at best be impractically
> > difficult; given CVS's limitations it may be actually impossible. I wouldn't
> > bet against impossible.
> 
> Even with saving (or re-calculating from git import) guesses about CVS
> history made so far?

Even with that.  cvsps-2.x tried to do something like this.  It was a lose.
 
> Anyway I hope that incremental CVS import would be needed less
> and less as CVS is replaced by any more modern version control system.

I agree.  I have never understood why people on this list are attached to it.

> I was thinking about creating remote-helper for cvs-fast-export, so that
> git can use local CVS repository as "remote", using e.g. "cvsroot::<path>"
> as repo URL, and using this mechanism for incremental import (aka fetch).
> (Or even "cvssync::<URL>" for automatic cvssync + cvs-fast-export).
> 
> But from what I understand this is not as easy as it seems, even with
> remote-helper API having support for fast-import stream.

It's a swamp I wouldn't want to walk into.
-- 
		<a href="http://www.catb.org/~esr/">Eric S. Raymond</a>

  parent reply	other threads:[~2013-12-18 16:27 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
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                     ` Eric S. Raymond [this message]
2013-12-18 16:53                       ` I have end-of-lifed cvsps 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=20131218162710.GA3573@thyrsus.com \
    --to=esr@thyrsus.com \
    --cc=git@vger.kernel.org \
    --cc=jnareb@gmail.com \
    --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 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 NNTP newsgroup(s).