On Sun, Nov 25, 2018 at 10:02:02AM +0900, Norbert Preining wrote: > What I did with most definitive svn to git conversions is: > > git svn clone SVNREPO --no-metadata -A AUTHORSFILE --stdlayout > ./temp.checkout > # if there are svn ignore stuff: > # cd temp.checkout > # git svn show-ignore > .gitignore > # git add .gitignore > # git commit -m 'Convert svn:ignore properties to .gitignore.' > # cd .. > cd temp.checkout > git remote add bare BAREREPO # BAREREPO could be gihub/savanaa/.. > git config remote.bare.push 'refs/remotes/*:refs/heads/*' > git push bare > cd .. > rm -rf temp.checkout > git clone BAREREPO > >
Hopefully we are nearly there. https://savannah.gnu.org/git/?group=texinfo I created a git repository using git svn. (This took about 4 hours on my computer.) I pushed the result to savannah. There was an existing git repository there, but there were only a few conflicts: ! [rejected] texinfo_4_11 -> texinfo_4_11 (fetch first) ! [rejected] texinfo_4_12 -> texinfo_4_12 (fetch first) ! [rejected] texinfo_4_13 -> texinfo_4_13 (fetch first) ! [rejected] texinfo_4_3 -> texinfo_4_3 (fetch first) ! [rejected] texinfo_4_4 -> texinfo_4_4 (fetch first) ! [rejected] texinfo_4_5 -> texinfo_4_5 (fetch first) ! [rejected] texinfo_4_6 -> texinfo_4_6 (fetch first) ! [rejected] texinfo_4_8 -> texinfo_4_8 (fetch first) error: failed to push some refs to '[email protected]:/srv/git/texinfo.git' hint: Updates were rejected because the remote contains work that you do hint: not have locally. This is usually caused by another repository pushing hint: to the same ref. You may want to first integrate the remote changes hint: (e.g., 'git pull ...') before pushing again. hint: See the 'Note about fast-forwards' in 'git push --help' for details. This was a 10 years out-of-date git mirror, and the tags already existed. In another checkout of the repository, I did "git branch -a" to get a list of the tags, and deleted them with e.g. git push origin --delete texinfo_4_3 Then running "git push bare" completed successfully. There are still some things to do: * The main branch is called "trunk" and not "master". (This is probably why pushing worked - there was no branch already existing called "trunk".) The "master" branch is the old 10 years-out-of-date mirror. I believe it is possible to delete the master branch and rename "trunk" to "master", although there may be problems with what Savannah allows. On https://savannah.gnu.org/support/?109326 the Savannah maintainers said that the "master" branch couldn't be reverted. * Rebase the Google Summer of Code 2017 work on the main master branch. * Not sure if all of these tags: http://git.savannah.gnu.org/cgit/texinfo.git/refs/ should exist, or if some are duplicates.
