2010-11-22 23 views
1

我們有一個測試服務器,每個開發人員都有自己的沙箱。事實上,我們的Web項目非常龐大,我們無法讓開發人員即使在沙箱中編輯所有內容。例如,一些其他Web服務中的一些密碼文件是開發人員無權查看的。無論如何,事情是,我們不能讓開發人員將整個項目克隆到自己的PC上進行開發。所以我們想要遠程工作。Mercurial:用於遠程開發的Windows客戶端

哪個Windows客戶端支持REMOTE mercurial存儲庫瀏覽?我知道烏龜沒有能力做到這一點。我嘗試使用sftpdrive軟件安裝項目目錄,但嘗試「探索存儲庫」(可能是因爲辦公室的帶寬較低)後,tortoiseHG才凍結。

請問,是否有任何可以通過sftp工作的適用於Windows的mercurial GUI客戶端?

+0

'無論如何,我們不能允許克隆整個項目以擁有PC用於開發。所以我們想要遠程工作。「那麼你爲什麼要堅持使用DVCS,而這種DVCS並不適用於這種配置?而且,實際上只有一個Windows客戶端,TortoiseHg僅僅包含它。 – 2010-11-22 10:51:13

+0

「可以通過sftp工作」--- sftp對於大量文件來說是非常慢的協議。所以,如果它存在(但我相信沒有) - 它會像sftpdrive目錄掛載一樣慢。 – zerkms 2010-11-22 10:52:12

+0

有些web應用如tortoiseHG怎麼樣? – holms 2010-11-22 11:04:24

回答

1

沒有這樣的客戶端。我不會永遠存在。 List of clients

如果您的Web項目實際上是一個具有共享資源的Web多項目,則可以將資源庫拆分爲子庫(subrepo)並微調子庫級別的權限。

編輯有關評論:

如果只有環境中,所有的東西 資源 (設備,密碼文件,...)只滿足在服務器上,你不能讓你的計算機上的本地發展。無論是重構代碼,還是包含模擬不存在的資源,所以您的開發人員的計算機可以像服務器一樣工作,或者您繼續在服務器上使用沙箱,並在服務器上創建腳本以從暫存存儲庫中獲取更改。

+0

任何建議如何使用mercurial進行遠程開發?例如:有sftp連接,我在家工作在osx上,我無法在我的mac上啓動apache/mysql/php(有很多原因會導致這些分開的資源,某些連接到服務器的設備等等。 。非常獨特的東西,你不能在家裏)我的經理希望看到test.mycompany.com等域名上的測試版本更改。問題:如何管理MERCURIAL REPO APART SSH? – holms 2010-11-27 15:35:25

+0

我能想到的唯一解決方案是使用一些編輯器在sftp和本地驅動器之間同步文件。那麼必須回收:一個在sftp中,另一個在本地驅動器中。所以只需在本地驅動器上管理mercurial,然後將其與sftp文件(特別是.hg文件夾) – holms 2010-11-27 15:37:20

3

您應該將您的網絡應用程序分解爲多個存儲庫,並讓開發人員只具有讀取/寫入權限(通過克隆,推送和拉取一些無意義的文件xfer協議)。喜歡的東西:

/webapp (top level repository) 
    | 
    +---- secret stuff here 
    | 
    +---- more secret stuff here 
    | 
    +---- developer-okay-code-only-repo 

在哪裏/ webapp的是版本控制整個系統,它有許多文件在裏面,開發商不能上網,然後有內一個subrepo,開發商可以克隆,並從拉(也許是推送)。

+0

+1同步以進行subrepos。他們搖滾。 – Macke 2010-11-27 02:43:50

+0

好的祕密東西不會到達程序員的電腦,他將如何測試應用程序?????你會得到大量的錯誤,因爲這些文件不存在。順便說一句,這種情況也是關於低速PC /筆記本電腦與低劣的窗口,他們沒有大腦爲他們配置WAMP自我... – holms 2010-11-27 15:27:24

+0

他們測試通過推送他們的修改回購組合服務器上**個人克隆**,像Hudson(或者你喜歡的任何持續集成工具)這樣的構建並在每個用戶端口上運行他們的私有克隆。 – 2010-11-27 22:05:41