2017-10-13 4 views
1

私はプロジェクトのいくつかのgitリポジトリをフェッチするためにrepoを使用しようとしています。私はすべてのgitリポジトリはREPOがリモートアドレスとフォルダを連結するのはなぜですか?

をホストされている個人のgitサーバーを持っている私は、このコマンドを手動で実行する個々のレポクローンすることができるよ:

git clone [email protected]_repo_address:repo_a 

をしかし、私は私が決めたさまざまなプロジェクトのために同じリポジトリを必要とするので、手動で複製する代わりにREPOを使用してください。

私はで動作するようにdefault.xmlのファイルを作成して、それには、次のものが含まれています

<?xml version="1.0" encoding="UTF-8"?> 
<manifest> 
    <remote name="project" 
      fetch="[email protected]_repo_address"/> 

    <project name="repo_a" remote="project" revision="master" path="a"/> 
    <project name="repo_b" remote="project" revision="master" path="b"/> 
    <project name="repo_c" remote="project" revision="master" path="c"/> 
</manifest> 

私はgit-と呼ばれるリポジトリ上の同じgitのサーバ上でホストされているこのdefault.xmlのファイルを持っていますレポフェッチ。次のようにリポジトリを正常に初期化できます。

repo init -u [email protected]_repo_address:git-repo-fetch 

これは正常に完了しました。私はレポ同期を実行したときしかし、私はエラーを取得する:

Fetching project repo_c 
fatal: 'git-repo-fetch/[email protected]_repo_address/repo_c' does not appear to be a git repository 
fatal: Could not read from remote repository. 

そして、私の質問は、なぜレポをフェッチアドレス(my_repoする@ my_repo_address)と(のgit-レポフェッチ)XMLレポ名を連結しているのですか?

これを行うと、git-repo-fetch/my_repo @ my_repo_addressからフェッチしようとしていますが間違っています。

+0

なぜ 'my_repo @ my_repo_address/git-repo-fetch'や' 'my_repo @ my_repo_address:port_number/git-repo-fetch''というURLはありませんか? ":"は次の 'git-repo-fetch'をポート番号のように見せます。 – ElpieKay

+0

https://git-scm.com/book/id/v2/Git-on-the-Server-The-Protocolsでは、ssh urlは 'git clone ssh:// user @ server/project 'であることがわかりました。 git'または 'git clone user @ server:project.git'を実行します。以前の形式を試してください。 REPOは後者をサポートしていない可能性があります。 – ElpieKay

+0

@ElpieKay 'ssh:// user @ server/project.git'を実行した場合、' fatal: '/project.git'はgitリポジトリではないようです。私がクローンできる唯一の方法は、 'git clone user @ server:project.git'を使用する場合です。 – m4l490n

答えて

1

は、私の知る限り(this thread from 2011のように)見ることができるように、repoは常にSSHをサポートしてきました:// URLスキーム

ssh://[[email protected]]host.xz[:port]/path/to/repo.git/ 

そしてない SCP-ような構文[email protected]:repo。 SCP-構文で

[email protected]:path is a nice shorthand on the command line, but ssh:// is less ambiguous for a manifest XML file.

repomentioned in 2012として、 "のmunge" URLを行います。

+0

これは問題を解決しました。私は '/ path/to/repo /'全体を 'default.xml'ファイルに追加しなければなりませんでした。 – m4l490n

関連する問題