From: Jakub Narebski <jnareb@gmail.com>
To: "Liam Healy" <lnp@healy.washington.dc.us>
Cc: git@vger.kernel.org
Subject: Re: Stitching together two split segments from svn
Date: Thu, 24 Jul 2008 16:48:40 -0700 (PDT) [thread overview]
Message-ID: <m3ljzqvo6i.fsf@localhost.localdomain> (raw)
In-Reply-To: <654935030807241633g763e622br4feb8b4e23ee64e2@mail.gmail.com>
"Liam Healy" <lnp@healy.washington.dc.us> writes:
> I have a project whose history is stored in two separate svn
> repositories. The first repository I kept privately during initial
> development, the second started when I posted it publicly and does not
> have the history of the first. I am trying to reunite them under git.
> The development of the first was linear, so after using git svn, the
> history looks like:
>
> a - b - ... - c - d = HEAD (old repository)
>
> and the second has one branch "ffa":
>
> (new repository)
> T - d - e - ... - f - g - h - ... - j master
> \
> k - l - .... - m ffa
>
> Note that T is the "trunk" initial commit on the svn repo that has no
> files. The second commit d is identical to the HEAD of old, as
> verified by git diff.
> However, when I remote add these two into a single repository, they
> show up as two detached chains, with no connection between them. I
> thought git rebase would reconnect them. However, when I do that on
> each branch (master and ffa), I get the following:
>
> a - b - ... - c - d - e - ... - f - g - h - ... - j master
> \
> e - ... -f - g - k - l - .... - m ffa
>
> instead of what I would like
>
> a - b - ... - c - d - e - ... - f - g - h - ... - j master
> \
> k - l - .... - m ffa
>
> That is to say, those commits from the new repository that have a
> common history for the two branches are duplicated. The commits are
> listed separately and have different SHA IDs, but they are clearly the
> same commits (same comments, same svn version number). Is there any
> way to do what I want? Really, all I want to do is change the parent
> of "e" to be the HEAD of the old repository.
If this is initial import, and not published anywhere, the simplest (I
think) solution would be to use grafts file (.git/info/grafts) to
change parent of 'k' from 'g' in ffa to 'g' in master, by adding the
line with:
<sha1 of 'k'> <sha1 of 'g' on master>
to .git/info/grafts. Then examine history if everything is now all
right (for example using gitk), and if everything is O.K. run
git-filter-branch.
See documentation for details.
--
Jakub Narebski
Poland
ShadeHawk on #git
next prev parent reply other threads:[~2008-07-24 23:49 UTC|newest]
Thread overview: 4+ messages / expand[flat|nested] mbox.gz Atom feed top
2008-07-24 23:33 Stitching together two split segments from svn Liam Healy
2008-07-24 23:48 ` Jakub Narebski [this message]
2008-07-25 2:41 ` Liam Healy
2008-07-25 7:21 ` Jakub Narebski
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=m3ljzqvo6i.fsf@localhost.localdomain \
--to=jnareb@gmail.com \
--cc=git@vger.kernel.org \
--cc=lnp@healy.washington.dc.us \
/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).