[Top][All Lists]

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: please migrate to git

From: Gavin Smith
Subject: Re: please migrate to git
Date: Sun, 25 Nov 2018 12:47:09 +0000
User-agent: Mutt/1.5.23 (2014-03-12)

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.


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 

 ! [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 'address@hidden:/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: 
  should exist, or if some are duplicates.

reply via email to

[Prev in Thread] Current Thread [Next in Thread]