git.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: "Jon Smirl" <jonsmirl@gmail.com>
To: "Michael Haggerty" <mhagger@alum.mit.edu>
Cc: monotone-devel@nongnu.org, dev@rapidsvn.tigris.org,
	git@vger.kernel.org, Jakub Narebski <jnareb@gmail.com>
Subject: Re: cvs import
Date: Thu, 14 Sep 2006 13:17:43 -0400	[thread overview]
Message-ID: <9e4733910609141017r37fbbd45q5fcf7d0f39b48cf3@mail.gmail.com> (raw)
In-Reply-To: <45098AE0.6030409@alum.mit.edu>

On 9/14/06, Michael Haggerty <mhagger@alum.mit.edu> wrote:
> Jon Smirl wrote:
> > On 9/14/06, Jakub Narebski <jnareb@gmail.com> wrote:
> >> Shawn Pearce wrote:
> >>
> >> > Originally I wanted Jon Smirl to modify the cvs2svn (...)
> >>
> >> By the way, will cvs2git (modified cvs2svn) and git-fast-import publicly
> >> available?
> >
> > It has some unresolved problems so I wasn't spreading it around everywhere.
> >
> > It is based on cvs2svn from August. There has been too much change to
> > the current cvs2svn to merge it anymore. [...]
> >
> > If the repo is missing branch tags cvs2svn may turn a single missing
> > branch into hundreds of branches. The Mozilla repo has about 1000
> > extra branches because of this.
>
> [To explain to our studio audience:] Currently, if there is an actual
> branch in CVS but no symbol associated with it, cvs2svn generates branch
> labels like "unlabeled-1.2.3", where "1.2.3" is the branch revision
> number in CVS for the particular file.  The problem is that the branch
> revision numbers for files in the same logical branch are usually
> different.  That is why many extra branches are generated.
>
> Such unnamed branches cannot reasonably be accessed via CVS anyway, and
> somebody probably made the conscious decision to delete the branch from
> CVS (though without doing it correctly).  Therefore such revisions are
> probably garbage.  It would be easy to add an option to discard such
> revisions, and we should probably do so.  (In fact, they can already be
> excluded with "--exclude=unlabeled-.*".)  The only caveat is that it is
> possible for other, named branches to sprout from an unnamed branch.  In
> this case either the second branch would have to be excluded too, or the
> unlabeled branch would have to be included.

In MozCVS there are important branches where the first label has been
deleted but there are subsequent branches off from the first branch.
These subsequent branches are still visible in CVS. Someone else had
this same problem on the cvs2svn list. This has happen twice on major
branches.

Manually looking at one of these it looks like the author wanted to
change the branch name. They made a branch with the wrong name,
branched again with the new name, and deleted the first branch.

> Alternatively, there was a suggestion to add heuristics to guess which
> files' "unlabeled" branches actually belong in the same original branch.
>  This would be a lot of work, and the result would never be very
> accurate (for one thing, there is no evidence of the branch whatsoever
> in files that had no commits on the branch).

You wrote up a detailed solution for this a few weeks ago on the
cvs2svn list. The basic idea is to look at the change sets on the
unlabeled branches. If change sets span multiple unlabeled branches,
there should be one unlabeled branch instead of multiple ones. That
would work to reduce the number of unlabeled branches down from 1000
to the true number which I believe is in the 10-20 range.

Would the dependency based model make these relationships more obvious?

>
> Other ideas are welcome.
>
> Michael
>


-- 
Jon Smirl
jonsmirl@gmail.com

  parent reply	other threads:[~2006-09-14 17:17 UTC|newest]

Thread overview: 39+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
     [not found] <45084400.1090906@bluegap.ch>
2006-09-13 19:01 ` cvs import Jon Smirl
2006-09-13 20:41   ` Martin Langhoff
2006-09-13 21:04     ` Markus Schiltknecht
2006-09-13 21:15       ` Oswald Buddenhagen
2006-09-13 21:16       ` Martin Langhoff
2006-09-14  4:17         ` Michael Haggerty
2006-09-14  4:34           ` Jon Smirl
2006-09-14  5:02             ` Michael Haggerty
2006-09-14  5:21               ` Martin Langhoff
2006-09-14  5:35                 ` Michael Haggerty
2006-09-14  5:30               ` Jon Smirl
2006-09-14  4:40           ` Martin Langhoff
2006-09-13 21:05     ` Markus Schiltknecht
2006-09-13 21:38       ` Jon Smirl
2006-09-14  5:36         ` Michael Haggerty
2006-09-14 15:50           ` Shawn Pearce
2006-09-14 16:04             ` Jakub Narebski
2006-09-14 16:18               ` Shawn Pearce
2006-09-14 16:27               ` Jon Smirl
2006-09-14 17:01                 ` Michael Haggerty
2006-09-14 17:08                   ` Jakub Narebski
2006-09-14 17:17                   ` Jon Smirl [this message]
2006-09-15  7:37             ` Markus Schiltknecht
2006-09-16  3:39               ` Shawn Pearce
2006-09-16  6:04                 ` Oswald Buddenhagen
2006-09-16  6:21                 ` Nathaniel Smith
2006-09-13 22:52 ` Nathaniel Smith
2006-09-13 23:21   ` Daniel Carosone
2006-09-13 23:52     ` [Monotone-devel] " Daniel Carosone
2006-09-13 23:42   ` Keith Packard
2006-09-14  0:32     ` Nathaniel Smith
2006-09-14  0:57       ` [Monotone-devel] " Jon Smirl
2006-09-14  1:53         ` Daniel Carosone
2006-09-14  2:30           ` [Monotone-devel] " Shawn Pearce
2006-09-14  3:19             ` Daniel Carosone
2006-09-14 21:57           ` [Monotone-devel] " Petr Baudis
2006-09-14 22:04             ` Shawn Pearce
2006-09-14  2:35     ` Shawn Pearce
2009-02-16  9:17 CVS import Ferry Huberts (Pelagic)

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=9e4733910609141017r37fbbd45q5fcf7d0f39b48cf3@mail.gmail.com \
    --to=jonsmirl@gmail.com \
    --cc=dev@rapidsvn.tigris.org \
    --cc=git@vger.kernel.org \
    --cc=jnareb@gmail.com \
    --cc=mhagger@alum.mit.edu \
    --cc=monotone-devel@nongnu.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.
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).