2013-05-20 40 views
11

我編寫了我的編譯環境。 (因此,如果構建過程發現自己在乾淨的圖像上運行,則可以自行引導)。如何從命令行配置SVN HTTP代理?

作爲此過程的一部分,某些依賴項從公共SVN存儲庫中檢索。

構建機器坐在代理後面,所以我需要配置SVN以使用代理。

幾個立即浮現在腦海中的選項是難吃因各種原因:

  • 我可以編輯〜/的.subversion /服務器手動檔,但我很情願保持製作工藝自包含並儘可能自動化。
  • 或者,我可以用一個內部的「依賴」存儲庫「代理」各種公共的Subversion存儲庫,但這會增加需要維護的移動部件的數量。
  • 最後,我可以編寫一個腳本來檢查配置文件並對其進行修改(如果需要的話),但是這對於構建過程中應該是一個微不足道的部分來說似乎過分矯枉過正。

理想情況下,我應該能夠從命令行指定代理,但這並不明顯,這是可能的。解決這個問題的正確方法是什麼?

+0

OK,所以它看起來像我可以使用下面的命令來設置代理服務器(這點我還是要考):SVN propset命令--config選項服務器:全球:HTTP代理主機= ; svn propset --config-option servers:global:http-proxy-port = (然而:我們瀏覽器的代理是自動設置的,所以如果我需要下載和解析代理配置腳本,我仍然在研究。 –

回答

15

SVNBook來救援!

  1. 正如你已經提到的,你可以添加SVN配置選項,svn命令行客戶端。

    請參閱SVNBook | --config-option command-line reference

    集,對於命令的持續時間,運行時 配置選項的值。 CONFSPEC是一個字符串,它指定 配置選項命名空間,名稱和值,您希望 分配,格式爲FILE:SECTION:OPTION = [VALUE]。在此語法中,FILE 和SECTION分別是運行時配置文件(config或 服務器)及其部分,其中包含您希望更改其值的 選項。 OPTION當然是 選項本身,VALUE是您希望分配給 選項的值(如果有的話)。例如,要暫時禁止使用自動 屬性設置功能,請使用 --config-option = config:miscellany:enable-auto-props = no。 您可以多次使用此選項同時更改多個選項值 。

    下面是示例命令行:

    svn checkout ^
    --config-option servers:global:http-proxy-host=<PROXY-HOST> ^
    --config-option servers:global:http-proxy-port=<PORT> <REPO-URL> <LWC-DIR>

  2. 或者使用--config-dir指向svn命令行客戶機定製配置文件。

    --config-dir DIR

    指導Subversion讀取來自 指定目錄而不是(在 用戶主目錄的.subversion)的默認位置的配置信息。

+0

那麼,配置選項似乎不太好,因爲我得到以下兩個錯誤:svn:無效選項--config-option服務器:全局:http-proxy-port = svn:無效選項--config -option servers:global:http-proxy-host = ....我現在正在嘗試--config-dir選項。 –

+2

我花了一點時間才弄明白,但完整的命令是:svn checkout --config-option servers:global:http-proxy-host = --config-option servers:global:http-proxy- port =

+1

@WilliamPayne謝謝您的更新!我將把這個命令行作爲示例加入到答案中。 – bahrep