Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

git-svn problem

Tags:

git

git-svn

Is it possible to clone a git repository which has more than one revisions? We tried to do it, and after the 1000'th commit it does a GC and exits leaving the clone in a unusable state.

r998 = a5cb4f6a377b0ca80cd95d73b0e32f0552b9cdfd (git-svn)
M   trunk/asdf/asdf.java
r999 = a87b06ae8aa497bb28c294b7ff8668ce2e4c8fcc (git-svn)
D   tags/sdafasdf/asdfasdf.java
r1000 = 20b383d138499eee4f121079ae059458f3facc94 (git-svn)
Auto packing your repository for optimum performance. You may also
run "git gc" manually. See "git help gc" for more information.
Counting objects: 18103, done.
Compressing objects:  61% (10590/17116)      7116)   
Compressing objects: 100% (17116/17116), done.
Writing objects: 100% (18103/18103), done.
Total 18103 (delta 9301), reused 0 (delta 0)
Removing duplicate objects: 100% (256/256), done.
root@host:~#

Attempting to continue the checkout by typing the command again results in the following:

root@host:~/repo# git svn clone https://host/svn/repo
Remote ref refs/remote/git-svn is tracked by
  "svn-remote.svn.fetch=:refs/remotes/git-svn"
and
  "svn-remote.svn.fetch=:refs/remotes/git-svn"
Please resolve this ambiguity in your git configuration file before continuing
like image 821
corydoras Avatar asked Feb 28 '23 02:02

corydoras


2 Answers

Worked out the answer. There must be some sort of bug when using the version of git that comes with ubuntu. The following line appeared twice in the newly created .git/config file:

svn-remote.svn.fetch=:refs/remotes/git-svn
svn-remote.svn.fetch=:refs/remotes/git-svn

Removing the duplicate has allowed me to type a git svn fetch which seems to be continuing the checkout.

like image 113
corydoras Avatar answered Mar 06 '23 06:03

corydoras


This happened a lot to me. I just re-ran exactly the same git command again and it continued from where it left off. Eventually it gets to the end and everything works.

Edit: If this problem happens when running git svn clone ..., then you want to replace clone with fetch when you rerun the command.

like image 27
Lachlan Avatar answered Mar 06 '23 04:03

Lachlan