簡體   English   中英

通過FTP將SVN存儲庫導出到遠程服務器

[英]Export SVN repository over FTP to a remote server

我正在使用以下命令將我的存儲庫導出到本地路徑:

svn export --force svn://localhost/repo_name /share/Web/projects/project_name

是否有通過FTP協議進行存儲庫導出到遠程服務器的簡單方法(此處是Linux新手)?

svn export AFAIK的最后一個參數必須是本地路徑,並且AFAIK該命令不支持以URL形式提供路徑,例如:

ftp://user:pass@server:path/

所以,我覺得這里應該雇用一些腳本來完成這項工作。

我曾問過一些人,並被告知最簡單的方法是將存儲庫導出到本地路徑,將其傳輸到FTP服務器,然后清除本地路徑。 不幸的是,我在第一步(提取到本地路徑!)后失敗了,所以,支持的問題是,它可以即時完成,還是必須分為兩個步驟:export + ftp transfer?

有人還建議我在遠程服務器上設置本地SVN客戶端,並從存儲庫中進行簡單的簽出/更新。 但這只有在其他所有方法都失敗的情況下才可能解決。 因為我想提取不帶SVN文件的純存儲庫結構,所以用這種方法可以得到。

順便說一句:我正在使用QNAP TS-210,這是一種簡單的NAS設備,板載Linux十分有限。 因此,我無法使用許多與GUI一樣的命令行命令。

編輯 :這是我的“鏈條”中的第二個問題。 即使,如果您幫助我在這里取得成功,如果沒有問題“ SVN:強制svn守護程序在其他用戶下運行 ”的幫助,我也將無法自動執行此工作(如我所願)。 有人可以看看嗎? 謝謝!

好吧,如果您使用的是Linux,則應該能夠安裝ftpfs 我相信Linux內核中有一個用於此的模塊。 那我想您也需要保險絲。

基本上,如果您可以掛載ftpfs ,則可以將svn導出直接寫到已掛載的文件夾中。

不確定FTP,但是SSH會容易得多,並且應該具有更好的壓縮率。 通過SSH發送存儲庫的示例如下所示:

svnadmin dump / path / to / repository | ssh -C username @ servername'svnadmin -q load / path / to / repository / on / server'

我發現該網址位於Martin Ankerl的網站上的URL

[更新]

根據@trejder對問題的評論,要通過ssh進行導出,我的建議如下:

svn導出到本地文件夾,然后使用以下命令:

cd && tar czv ​​src | ssh example.com'tar xz'

其中src是導出到的文件夾,example.com是服務器。

這將把源文件夾中的文件,tar和gzip壓縮並通過ssh發送,然后在ssh上,將文件直接提取到計算機中。

前陣子寫的-也許在這里有用exup

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM