SVN to Git using svn-migration-scripts
Clone of SVN repo to Git repo works fine.
However i have problem with
Command listed above should convert all remotes tags into local ones.
But i recieve:
# Creating annotated tags... tag has diverged: 1.0_RC1 Creating annotated tag '1.0_RC1' at refs/remotes/tags/1.0_RC1. # Creating local branches... # Checking for obsolete tags... svn: E215004: Authentication failed and interactive prompting is disabled; see t he --force-interactive option svn: E215004: Unable to connect to a repository at URL 'http://127.0.0.1/svn/dri veLearner/tags' svn: E215004: No more credentials or we tried too many times. Authentication failed Deleting Git tag '1.0_RC1' not in Subversion. Deleted tag '1.0_RC1' (was d200bf6) # Checking for obsolete branches... svn: E215004: Authentication failed and interactive prompting is disabled; see t he --force-interactive option svn: E215004: Unable to connect to a repository at URL 'http://127.0.0.1/svn/dri veLearner/branches' svn: E215004: No more credentials or we tried too many times. Authentication failed No obsolete branches to remove. # Cleaning tag names # Cleaning branch names
I use local winXP, java 1.7_65, VisualSVN Server(http, port 80). Repo is available for Everyone in read/write mode.
Funny thing is i’ve done this process but on other repo succesfully after the same problems, but i don’t know what i’ve done.
Have somebody some solution?
3 Solutions collect form web for “SVN to Git using svn-migration-scripts”
This svn-migration-script.java from Atlassian is a crap.
Here is detailed instruction how to migrate from SVN to Git with minimum of third party soft and with preserve local branches and tags.
(access for user [user]: rw)
c:[eclipse_workspace][project_name] (create directories if don’t exist)
++ install svn and git (with Git Bash) in your system (optionally add their ‘bin’ directories to PATH)
++ make sure svn serwer works in http mode (not in https)
++ make authors.txt if necessary
++ clone svn to git:
git svn clone --stdlayout --authors-file=c:\authors.txt
[svn_address]/[project_name] c:[eclipse_workspace][project_name] [user] [pass]
rebase -b 0x64000000 "c:\program files\git\bin\libsvn_repos-1-0.dll" (or analogical) can be useful if some error with mapping will appear
++ run Git Bash from context menu (you should have installed this)
git branch -a to check your branches and tags
++ type in Git Bash:
to attach branches:
for branch in `git branch -r | grep "branches/" | sed 's/ branches\///'`; do git branch $branch remotes/branches/$branch done
to attach tags:
for tag in `git branch -r | grep "tags/" | sed 's/ tags\///'`; do git tag $tag remotes/tags/$tag done
++ create bare git repository and push there [project] (you will loose SVN dependencies)
++ clone [project] to target location
This is how I got this working (on Mac OSX):
- Added credentials to corresponding ~/.subversion/auth file
- Tried to run
svn log your-repo-urljust to see if the svn auth is working
- On Mac this would ask me to use my keychain, I selected “Always Allow”
- After this my
clean-gitcommand would start working as well
There is also ticket logged here but it hasn’t been given any attention from the maintainers
I had same program.
I used this option.
How to this option.
If the –no-delete option is specified, branches and tags will be created but none will be removed.