First, we need to create a new git repository from the SVN repository. We’ll do this using git-svn.
git svn clone <SVN-URL> (i.e., git svn clone svn://server/trunk). This may take a while depending on the size of the repository.git svn show-ignore >> .git/info/excludeNext, we’ll move to the secure environment where we’ll be making changes without access to SVN.
git checkout -b <BRANCH-NAME> (i.e., git checkout -b customer_site).git add . – Stages your changes in the git indexgit commit – Commits all changes in the index to the repository. You’ll be asked for a commit message.Once all of your changes are complete and your ready to move back to the SVN repository, we’ll create a set of patches identifying the changes and apply these patches to our git repository in the insecure environment.
git format-patch master.. – This will generate a series of .patch files, one per commit, for all of the changes you’ve made to your git branch. The .patch files are in plaintext and can be examined by a third-party.git am *.patch to apply all of the patches. After the patches are all applied, you can run git log to see that they all show up.git svn rebase. You’ll have to fix any conflicts that may arise.git svn dcommit. And you’re done.CAVEATS: