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

svn to git with non-standard layout

From
BSBernd Schubert <bernd.schubert@itwm.fraunhofer.de>
Date
Nov 23, 2011, 19:23 UTC
Message-ID
<jajh7m$it7$1@dough.gmane.org>
Hi all,

we just want to migrate from subversion to git, but so far all attempts to do that resulted in missing commit information.

So we have an svn repo with multiple sub-repos. The trouble is now that those sub-repos have their own trunk/tags (no branches) directories, but actually those projects are very dependent on each other and lots of commits go to many sub-project in a single commit. So our new git repository shall meld all sub-projects into a new common repository.

So we have something like this:
svn-root -> main-project
             /       |    \
            /        |     \
           proj1    proj2   proj{n}
          /    \     /   \    /    \
         /      \   /     \  trunk  tags
        /       \ trunk   tags
        trunk   tags
                /   \
               tag1 tag{2...n}
I think the same issue has been asked a few times before, for example here:
http://comments.gmane.org/gmane.comp.version-control.git/163491

but I still do not know how to properly convert the old structure into a new global one. So we simply want to have:

branches,tags <- main-project -> {proj1, proj2, ..., projN}
I think the above link suggests something like
[svn-remote "svn"]
         url = https://some-repo-url
         fetch=/:refs/remotes/svnroot
         fetch = build_scripts/trunk:refs/remotes/build_scripts/trunk
         fetch = create_repos/trunk:refs/remotes/create_repos/trunk

When I'm going to to 'svn fetch' this, files from different projects are going to be in the same directory. But of course, the project directory structure is supposed to stay as it it.

Any ideas what I still could try to do?

Thanks, Bernd

Next: Stephen Bash
Message 1 of 5 in “svn to git with non-standard layout”
  1. Bernd SchubertNov 23, 2011
  2. Stephen BashNov 23, 2011
  3. Bernd SchubertNov 23, 2011
  4. Frans KlaverNov 23, 2011
  5. Bernd SchubertNov 23, 2011

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.