Search code examples
gitsvnmigrationgit-svn

Git svn difference between directories .git/logs/refs/... and .git/refs/


I'm doing a migration from svn to git with git svn command.

After the command does its job I, have two simmilar directories:

  • *.git/logs/refs/remote/origin* and
  • *.git/refs/remote/origin.*

My question is what is the difference between them?
Because in the *.git/refs/remote/origin* I'm missing the trunk branch which is visible in *.git/logs/refs/remote/origin*.


Solution

  • The Git repository layout page is the reference for that:

    • .git/logs/refs records of changes made to refs are stored in this directory.
      Use by git reflog
    • .git/refs lists references stored in subdirectories of this directory.

    So this is not linked specifically to git svn.

    It then depends on the exact git svn command used.
    As shown in "Synchronize git-svn branch with git repository", a git svn clone $SVN_URL/trunk proj-clone would mean that git svn does not use the namespace refs/remotes/origin/* but refs/remotes/git-svn.