git svn clone of a single directory of SVN repository

I am attempting to use git svn to clone a single directory of a SVN repository into a Git repository.

If I use git svn clone svn+ssh://path/to/repo/trunk/directory, I get a Git repo without branches that mirror the branches in the source SVN repo.

  • Git keeps prompting me for password
  • Switch node_modules folder when I change git branch
  • How to get SHA of commit for Xcode Bot “Run Script” Trigger? Updating status of tests on Github
  • Git for solo developer: merge vs rebase
  • How to know if a git submodule commit is already pushed into the repository
  • Should I keep DB migration scripts generated via alembic under version control
  • If I use git svn --stdlayout svn+ssh://path/to/repo/trunk/directory, I get an empty Git repo. The following is the output of the command:

    Initialized empty Git repository in /directory/.git/
    Using higher level of URL: svn+ssh://path/to/repo/trunk/directory => svn+ssh://path/to/repo
    W: Ignoring error from SVN, path probably does not exist: (160013): Filesystem has no item: File not found: revision 100, path '/trunk/directory'
    W: Do not be alarmed at the above message git-svn is just searching aggressively for old history.
    This may take a while on large repositories
    

    I had read that the way to fix the above was to add a revision range like -r 1000:HEAD, this still produces an empty repo. The output is:

    Initialized empty Git repository in /directory/.git/
    Using higher level of URL: svn+ssh://path/to/repo/trunk/directory => svn+ssh://path/to/repo
    

    Any ideas on how to clone a subdirectory of an SVN repository using git-svn that still grabs all of the branches & tags from the source SVN respository?

  • using bundler to load different versions of gems for different platforms
  • What's the difference between git reset file and git checkout file?
  • Accidentally deleted .git folder - can it be restored?
  • How to completely remove a merged pull request?
  • git how to find commit hash where branch originated from
  • Writing a git hook to automatically modify code during local commits
  • 2 Solutions collect form web for “git svn clone of a single directory of SVN repository”

    You don’t want standard layout, you want something like this:

    git svn clone svn+ssh://path/to/repo/ --trunk=trunk/directory --branches=branches/*/directory --tags=tags/*/directory
    

    Prepare and enter the local project directory:

    mkdir local/project/path
    cd local/project/path
    

    Initialize the local git repository with svn remote and fetch the data:

    git svn init http://my_svn_server.com/repository/project/location
    git svn fetch
    

    Credit goes to Gabriel Saldaña: http://blog.gabrielsaldana.org/using-git-with-subversion-repository-subdirectory/

    Git Baby is a git and github fan, let's start git clone.