From what I could find around the web, it seems that using git svn is not “persisted”.
Meaning, if I git svn clone a repository, then push to master and repull a fresh copy in a separate folder, the fresh copy is not aware of svn at all, and cannot be used to synchronize with SVN without reapplication of svn clone.
Is there a way around this issue?
A clone essentially just initializes a new git repository, sets up the
originremote, runsgit fetch, and creates a branch based on the remote repository’sHEAD. None of these operations look at the.git/svninformation in the remote repository – I think that everything apart fromrefs,objectsandHEADin a remote repository’s git directory is regarded as private.As for a way around that, you could always
rsync -aorscp -rthe remote repository instead of cloning it, which should work – all the Subversion metadata should be copied.However, personally I’ve always found it less confusing to just have one
git svncloned repository that I dogit svn dcommitfrom, and push back to that repository whenever I want to commit anything to Subversion. Then those other repositories are just normal git repositories and you don’t need to worry about any of the restrictions ofgit svnuntil you push back to thegit svnclone, at which point you normally need to do some rebasing…