簡體   English   中英

好的獨立svn客戶端

[英]good stand-alone svn client

我目前正與合作伙伴一起開展PHP項目。

我們都直接編輯到本地服務器(所有文件都存儲在服務器上,該服務器也運行WAMP堆棧)。 我正在尋找一個SVN客戶端,它將監視並保存對htdocs文件夾的所有更改,並將通過Web更新遠程SVN存儲庫。

如果我可以通過網絡界面操縱SVN客戶端,那將是一個很大的好處。

例如,假設我將file1.php保存到服務器。 它會更新svn網站上的file1.php 如果我突然發現我對該文件的最新修訂版本不好,我可以轉到服務器(或從我的計算機使用一些Web界面),並用更舊的版本替換file1.php

我不想只在我們的本地計算機上安裝SVN服務器,因為我總是希望使用最新的更改遠程保存副本。

有什么建議?

我不知道有任何軟件可以做到這一點。 使用標准命令行svn客戶端編寫腳本可能並不困難。 即具有定期運行的批/ shell腳本,並檢查已更改的所有內容。

那就是說,我非常強烈建議不要這樣做!

源代碼控制的正常工作模式是每個人都有一個本地副本,然后將其更改檢入中央存儲庫。

明確的人工簽入確保您只簽入有效的東西(通常),並讓您提供有價值的簽到評論。

然后,可以使用源控制存儲庫中的已知正常版本更新服務器。

聽起來你正在研究一個生產系統。 我強烈建議考慮使用開發環境和上述方法。

如果我做對了你的意圖是使用SVN作為版本化的自動備份系統。 如果是這種情況,最直接的事情是使用文件監視工具然后調用svn命令行客戶端以獲取更改的文件以將它們提交到SVN。

我還沒有嘗試過,但SVN-Monitor可能很有用。 您將需要上面提到的ToirtoiseSVN客戶端來使用它。

我沒有發現任何(我也有同樣的麻煩)。

我們分2步完成。

當我必須開發一部分軟件時 - 我分支主干並在其他人做同樣的事情時修改它以完成他們的任務。 然后我們合並分支並測試它們。 測試后,正在通過該合並補丁更新中繼。

最后cronjob(或手動)運行腳本,將資源設置為維護模式,刪除htdocs並導出新的trunk,然后根據需要chown / chmod所有內容。

這個腳本我們可以隨時從管理面板運行,如果我們需要快速恢復錯誤更改,則設置必要的修訂版...

您可能需要考慮針對您提出的方案的分發源代碼控制解決方案(Bazaar,Git,Mercurial),其中您有兩個提交者針對兩個代碼庫。 然后,您可以進行本地提交,並根據需要將更改推送到兩個目標。

但是要解決您的直接問題,您可能需要某種實用程序來監視兩端的文件更改,然后在檢測到更改時立即調用svn client命令

我不相信它可能或那么容易。

當您在客戶端上放置SVN下的文件夾時,會創建一個特定的文件夾結構來跟蹤鎖定,更改等文件的位置。 嘗試更新服務器SVN文件夾而不先檢出文件或編輯文件而不檢查它們(就像你想做的那樣)是一個不錯的想法。

在zip文件中收集htdocs文件夾的計划作業,通過文件名對其進行版本化然后將其上傳到某個遠程存儲可能是一種更簡單,更快捷的方法來管理它。

我不知道在給定正確的腳本的情況下,svn post-commit鈎子是否有用? 您可以自動將當前修訂版(即剛剛調用掛鈎之前創建的修訂版)的更改部署到生產系統。 我認為這是你要求的那種東西?

我不得不說,我同意這里的一些其他評論,關於你提出的建議是不可取的。 我建議您手動啟動部署過程的解決方案,然后從存儲庫中提取源。

如果我誤解了,請道歉。

編輯:重新閱讀問題,我認為您正在尋找自動提交到存儲庫,而不是自動部署。 在這種情況下,其他人提出的預定腳本解決方案也是我能想到的最佳方法。 給那些建議的人+1。

暫無
暫無

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

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