Hi there. I've been able to complete every step of the migration up until the sync-rebase step from this guide:
https://www.atlassian.com/git/migration#!migration-synchronize
The repo will eventually end up in a Stash repo, but I'm using a local repository for the transition period.
I was able to perform a successful "git svn fetch" to see commits coming in from the old SVN repo. However, I receive the following error when I try these commands:
Note that I tried out the second command because of this thread. I had received the same warning from git-svn about needing to default the prefix to origin/
Both of those commands resulted in this error:
fatal: ambiguous argument 'remotes/trunk': unknown revision or path not in the working tree. Use '--' to separate paths from revisions, like this: 'git <command> [<revision>...] -- [<file>...]' Error finding tracking ref for branch master
---------------------------------
Some other info:
origin/tags/ap-2.0.9
origin/trunk
Hi Matthew, I have had the same problem but could not find a direct fix.
What I decided is to manually proceed with a merge: merge my origin/trunk (svn/trunk in my case) with the master. Then I could see the latest update received from "git svn fetch"
Hope this can help :)
Jerome
Thanks for the help Jérôme. I ended up having to do most of the migrations manually myself. Once I performed the steps above, doing a rebase on git repository synced things up nicely.
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
Hi, I've just encountered the same problem and I'm a git newbie. Could you explain what you mean by doing the migrations manually?
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
OK, I'll ask the question again and see if anyone comes up with a solution. Thanks.
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
Workaround for this issue, just use an empty prefix while cloning:
git svn clone --prefix='' --stdlayout --authors-file=...
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
Not that it helps, but there is a public issue tracking this:
https://bitbucket.org/atlassian/svn-migration-scripts/issue/2/git-20-incompatability
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
I had the same problem, but using --prefix='' solved the problem. Would be nice if the documentation (https://www.atlassian.com/git/tutorials/migrating-convert) is updated. Using the following: svn-migration-scripts: using version 0.1.56bbc7f Git: using version 2.6.2 Subversion: using version 1.8.8 git-svn: using version 2.6.2
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
is there any way at all to fix this post-clone? it took so long for our clone to complete Im not sure I have the time to run it again.
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
@Matt Holbrook-Bull It's been a while since I've used git-svn, and as such please take everything here with a grain of salt.
In theory you should just be able to rename the branch/tags locally to the expected format and it should work. So for example changing "refs/remotes/origin/tags/*" to "refs/remotes/tags/*". Before doing any manual changes on your repository I would first suggest taking a full backup of the clone (especially the .git folder) so that you don't have re-do the clone.
Changing the refs themselves should just require moving the .git/refs/remotes/origin contents up a directory. You'll also need to edit the .git/config file to something like this, where you no longer see 'origin/' in the fetch/branches/tags configuration.
[svn-remote "svn"] url = https://svn.company.com/repos/ fetch = project-foo/trunk:refs/remotes/trunk branches = project-foo/branches/*:refs/remotes/* tags = project-foo/tags/*:refs/remotes/tags/*
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
after doing above steps edit .git/packed-refs file and delete "origin/". Then run "git svn fetch".
Then execute
java -Dfile.encoding=utf-8 -jar ~/svn-migration-scripts.jar sync-rebase
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
Thanks you Charles & Yoganand for the solution! It saved me many hours for new migration.
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
Updating my script to include --prefix='' has fixed my problem.
Atlassian really needs to update the documentation to reflect this!!
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
Thanks Charles & Yoganand for the solution,vyou saved me from 4 days cloning too,and Atlassian should update the git migration documents it simply causes too much trouble and time loss..
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.