2011-08-02 7 views
8
$ git svn clone -s http://a_repo local_dir (by default this brings me r1) to hdd 
    Initialized empty Git repository in d:/Temp/local_dir/.git/ 
    r1 = some_SHA (refs/remotes/trunk) 

    $ cd local_dir 
    $ git svn rebase 
    fatal: ambiguous argument 'HEAD': unknown revision or path not in the working tree. 
    Use '--' to separate paths from revisions 
    log --no-color --no-decorate --first-parent --pretty=medium HEAD: command returned error: 128 

どのように実際にレポをチェックアウトすることができますか?git svnあいまいな引数 'HEAD'

また、リベースせずに、fetchを使用しましたが、一度に1つのリビジョンしか持ちません。私たちには数千のコミットがありますが、この速度でリポジトリをコピーするには数日かかるでしょう。

+0

はgitのsvn clone'のみONE改正をもたらし '意味ですか?あなたは '-s'を使用しています、あなたのSVNリポジトリは本当に標準レイアウトですか?通常、 'git svn clone 'は作業コピーを作成します。 – eckes

答えて

9

あなたのSVNリポジトリからコミットが1つしか得られない場合、私はSVNリポジトリが標準レイアウトではないと仮定しますが、それはgit svnです。

git svn clone http://a_repo local_dir 

(すなわち-sフラグなし)SVNレポをクローニングすることができなければなりません。これが機能する場合は、クローンを再試行し、docs of git-svnで説明されているように、トランク、タグ、ブランチディレクトリを指定します。

+0

私のリポジトリは標準レイアウトです。私はまた、パラメータとしてトランクを指定する-Tを介して同じことを試みました。あなたが 'fetch'を使ってsvnクローンを起動すると、' fetch'を介してのみ続けることができます。たぶん、それは "作品"(1つの呼び出しごとに1つのリビジョンを取得)をフェッチする理由は何ですか? gitのクローンはinitでフェッチされているので、 – Senthess

+0

@Senthess:単純な 'git svn clone http:// a_repo local_dir'(つまり、repo-layout-info-paramsがない)は動作するのでしょうか?また、 'git svn fetch'は1つだけでなく、すべてのリビジョンを表示します。あなたは 'git svn clone'をrepoなしの新しいディレクトリに作成します、そうですか? – eckes

+0

私はもはや仕事をしていませんが、残念ながら私はこれをテストすることはできません。私は朝に結果を書きます。私は新しいディレクトリにクローニングしています(クローンする前にファイルはありません)。 – Senthess

2
git svn clone [your-repo-url] -s 
# OR 
git svn clone [your-repo-url] -T [your-trunk-dir] -t [your-tags-dir] -b [your-branches-dir] 

あなたは全体ではなく、SVNリポジトリののクローンを作成するときに、(上記のように)-rフラグを指定しない場合、あなたは

git svn fetch 
2

に必要な、このエラーが発生します。

あなたのレポのURLがhttps://svnserver/project/repo/trunkまたはhttps://svnserver/project/branches/pre-somethingのように見える場合にcloneコマンドを変更します。

git svn clone https://svnserver/project/repo --stdlayout 
関連する問題