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

Re: Migrating from SVN

From
Heiko Voigt <hvoigt@hvoigt.net>
Date
Mar 25, 2010, 06:22 UTC
Message-ID
<20100325062214.GA1829@book.hvoigt.net>
In-Reply-To
<aosj77-m7e.ln1@burns.bruehl.pontohonk.de>
On Mon, Mar 22, 2010 at 11:18:18AM +0100, Christoph Bartoschek wrote:
Show 15 quoted lines
> Now we are merging both products into one such that the structure should be 
> 
> product/project_A
>         project_B
>         project_C
>         project_D
>         project_E
> 
> I think this makes migration to Git easier as we can now work with only one 
> Git repository. We also circumvent the usage of the unmature submodule 
> support in Git.
> 
> How can I now import our Subversion projects into the Git repository such 
> that for each project the history is kept and ideally the whole history is 
> linearized by the subversion revision numbers?

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

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.

Hope that helps.
cheers Heiko
Previous: Christoph BartoschekNext: Christoph Bartoschek
Message 2 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.