2017-10-13 47 views
1

我試圖用回購來爲項目取數git倉庫。我有所有的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的服務器上的此default.xml中的文件名爲git-回購取。我可以成功地初始化回購如下:

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

併成功inits。但是,當我執行回購同步我得到的錯誤:

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)串聯的XML回購名稱(GIT回購取)?

通過這樣做,它會嘗試從獲取混帳回購取/ my_repo @ my_repo_address這是不對的。

+0

爲什麼不是URL'my_repo @ my_repo_address /混帳回購fetch'或''my_repo @ my_repo_address:端口號/混帳回購fetch''? 「:」使得下面的'git-repo-fetch'看起來像一個端口號。 – ElpieKay

+0

在https://git-scm.com/book/id/v2/Git-on-the-Server-The-Protocols我發現SSH URL可以是'git的克隆SSH://用戶名@服務器/項目。 git'或'git clone user @ server:project.git'。嘗試以前的格式。也許REPO不支持後者。 – ElpieKay

+0

@ElpieKay如果我這樣做'SSH://用戶名@服務器/ project.git'我得到的消息'致命的:「/project.git」不似乎是一個git repository'。我可以克隆的唯一方法是,如果我使用'混帳克隆用戶@服務器: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

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

與SCP-語法,repo做 「Munge時間」 的網址,爲mentioned in 2012

+0

呀,這解決了這個問題。我不得不將整個'/ path/to/repo /'添加到我的'default.xml'文件中。 – m4l490n

相關問題