2011-10-17 20 views
1

私はgitでsvnリポジトリを複製しようとしていますが、フェッチ・ステップで認証に失敗します。私は現在、プロジェクトのトランクを取得しようとしている:git-svnフェッチ許可の失敗

$ git svn clone svn://some/repo --trunk=svn://some/repo/trunk/project/ --username afoglia . 
Initialized empty Git repository in /home/afoglia/projects/new_repo/trunk.git/project/.git/ 
Using higher level of URL: svn://some/repo/trunk/project => svn://some/repo 
W: Ignoring error from SVN, path probably does not exist: (160013): Filesystem has no item: File not found: revision 100, path '/trunk/project' 
W: Do not be alarmed at the above message git-svn is just searching aggressively for old history. 
This may take a while on large repositories 
Authorization failed: Authorization failed at /home/afoglia/.local/stow/git-1.7.7/libexec/git-core/git-svn line 3099 

私は、最新のリビジョンを取得しようとした、そしてそれは同じメッセージで失敗します。

gitは最初の手順でリポジトリに正常にアクセスしています。このディレクトリで最初のリビジョンに近づくにつれて、リビジョンのカウンタが増加するのがわかります。だから私はなぜ失敗があるのか​​分からない。レイアウトは単一のトランクディレクトリの下にある複数のプロジェクトであり、そのプロジェクトとそれ以下を読む権限しかありません。

私はPerlには慣れていませんが、3099行はdieメッセージが異なる場合を除き、「Authorization failed」という文字列はスクリプトにはありません。

また、自分のアカウントでgitをインストールし、svnもコンパイルしてインストールしなければならなかったので、これはperlライブラリが見つからないことが原因です。 (しかし、私は無防備なsvnリポジトリのクローン作成に成功したので、それは何か明白ではありません)

答えて

0

まず、--trunkは絶対URLではなくサブディレクトリを受け入れます。次に、ほとんどのリビジョンのみを取得するには、--parentを指定する必要があります。それが動作しない場合

git svn clone --username afoglia --parent svn://some/repo --trunk=trunk/project/ project-git 

この方法を試してみてください。この方法を試してみてください

git svn clone --username afoglia --parent svn://some/repo/trunk/project/ project-git 
+0

のgitのsvnクローン「--parent」オプションが好きではありません。 '不明なオプション:親'だから私は 'git svn init'(これはうまくいく)と' git svn fetch --parent'を実行しようとしました。それは 'fatal:ambiguous argument 'HEAD':...'というエラーで失敗します。何も取得せずにgitに親を取得するHEADがないので意味があります。また、私は最初にtrunk/projectというサブディレクトリでトランクを試しました。違いはなかった。私は、2レベルのトランクサブディレクトリが原因であると思われるほとんどの場合、完全なURL(マニュアルページで明示的にサポートされていると言います)に切り替えました。 – AFoglia

+0

申し訳ありませんが、 'git clone --parent'の代わりに' git clone -r HEAD'を試してみてください –

関連する問題