git/list[1] front-page[2] threads[3] people[4] search[5] about
 

Re: Migrating from SVN

From
CBChristoph Bartoschek <bartoschek@gmx.de>
Date
Mar 26, 2010, 11:15 UTC
Message-ID
<fkhu77-7hm.ln1@burns.bruehl.pontohonk.de>
In-Reply-To
<20100325062214.GA1829@book.hvoigt.net>
Heiko Voigt wrote:
> Import them all seperately into git (e.g. using git svn) and then have a
> look at subtree merge
> 
> http://www.kernel.org/pub/software/scm/git/docs/howto/using-merge-
subtree.html
Show 12 quoted lines
> 
> to merge them all together. That way you will have seperate lines of
> history for each project and one (or five) big merges on top.
> 
> AFAIK the revision number from svn is stored in the commit message if
> you use git svn so to add the project name you might want to use git
> filter-branch to add that name to each commit before merging the history
> lines.
> 
> That way you will have all the history of the now seperate projects in
> one git repository. Keep in mind that after doing that its not that easy
> to make them seperate projects again.

Thanks for your suggestion. Unfortunately I do not want to have separate lines of history.

For example if the subversion revisions are like this:

rev 0: Initial import rev 1: Change in project_A rev 2: Change in project_B rev 3: Change in project_A rev 4: Change in project_C

Then I would like to have in git for the product_1 line:
First commit: The commit consists of the initial import.

Second commit: The commit consists of rev 1 of project_A and rev 0 of project_B and rev 0 of project_C.

Third commit: The commit consists of rev 1 of project_A and rev 2 of project_B and rev 0 of project_C

Fourth commit: The commit consists of rev 3 of project_A and rev 2 of project_B and rev 0 of project_C.

Fifth commit: The commit consists of rev 3 of project_A and rev 2 of project_B and rev 4 of project_C.

This does not yet include branches. But how can I get a history like that in git?

A similar line of history would appear for product_2 and when they are merged, I can use a subtree merge as sugested to combine them.

Christoph
Previous: Heiko Voigt
Message 3 of 3 in “Migrating from SVN”
  1. Christoph BartoschekMar 22, 2010
  2. Heiko VoigtMar 25, 2010
  3. Christoph BartoschekMar 26, 2010

Read the whole thread, see it on lore, or plain text.

$ cat FOOTERMessages come from the public archive at lore.kernel.org/git, fetched every hour. The front page is chosen and written each morning by an AI editor and can be wrong; the threads themselves are the record. About and API. For agents: an MCP server at https://gitlist.dev/mcp, and any thread, story or person page as Markdown by adding .md to its URL (or sending Accept: text/markdown). Details in /llms.txt.