Git development
 help / color / mirror / Atom feed
From: Elrond <elrond+kernel.org@samba-tng.org>
To: Johannes Schindelin <Johannes.Schindelin@gmx.de>
Cc: Martin Langhoff <martin.langhoff@gmail.com>, git@vger.kernel.org
Subject: Re: git-cvsimport gets parents wrong for branches
Date: Tue, 4 Jul 2006 13:03:14 +0200	[thread overview]
Message-ID: <20060704110313.GC24572@memak.tu-darmstadt.de> (raw)
In-Reply-To: <Pine.LNX.4.63.0607041007391.29667@wbgn013.biozentrum.uni-wuerzburg.de>

On Tue, Jul 04, 2006 at 10:09:18AM +0200, Johannes Schindelin wrote:
> Hi,
> 
> On Tue, 4 Jul 2006, Martin Langhoff wrote:
> 
> > It is pretty hard to get that one right in any case, as there are
> > cases where the new branch starts from something that is not a commit
> > in the parent (from GIT's perspective).
> 
> But it should be easy to introduce a faked commit, which just contains 
> those versions (and takes the newest commit touching any of these file 
> versions as branch point).

Of couye in theory, (if cvs was used sanely), the base of
each branch should be a commit on the parent-branch. But as
we all know, cvs allows pathologic cases.
(My script doesn't create such a case, it's sanely
representable in git without any fake commits.)


So now for the patholigic cases (when they're solved, the
main issue is solved too):

Of course, the base version for a branch can be turned into
a tree (should be easy: cvsps's first changeset of the
branch has the previous revisions of each file).
This tree can also be turned into a fake commit...
just which parent should our new fake commit have?

My current simple answer is: The commit on the parent
branch with the most matching number of files, so that
the diff, that the fake commit introduces has the least
number of files.

In the non-patholoc case, the fake commit would introduce
no diff at all and should be dropped.

Of couse I have no idea, how hard it would be to implement
this. And in reality, it would be cvsps's job to do that.


    Elrond

  reply	other threads:[~2006-07-04 11:03 UTC|newest]

Thread overview: 6+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2006-07-03 21:53 git-cvsimport gets parents wrong for branches Elrond
2006-07-03 23:15 ` Martin Langhoff
2006-07-04  8:09   ` Johannes Schindelin
2006-07-04 11:03     ` Elrond [this message]
2006-07-04 11:33       ` Johannes Schindelin
2006-07-04 10:46   ` Elrond

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=20060704110313.GC24572@memak.tu-darmstadt.de \
    --to=elrond+kernel.org@samba-tng.org \
    --cc=Johannes.Schindelin@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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox