[英]SVN commit does nothing
我在Ubuntu 12.04上安裝了svn存儲庫,並且需要在Mac和Windows客戶端上都使用svn。 我遵循了本指南,以使用自定義svn://協議運行svn,並且可以成功檢出我的存儲庫。 簽出時,服務器不要求任何身份驗證?
在Mac客戶端上-命令行-我提交,應該說
$ svn commit -m "edit 3 svn test"
Sending a
Transmitting file data .
Committed revision 3.
但這是實際發生的情況:
$ svn commit -m "added howto section."
沒有。 svn日志不指示任何更新。
如果我詢問svn的狀態,我會獲得復制到本地工作副本中且需要更新的所有目錄的完整列表,但這些目錄中沒有文件:
$ svn status
? app/Plugin/Metrics/Test
? app/Plugin/Metrics/Model
? app/Plugin/Metrics/Console
? app/Plugin/Metrics/Controller
? app/Plugin/Metrics/Config
? app/Plugin/Metrics/Lib
? app/Plugin/Metrics/View
'?' 表示所有這些列出的目錄都不在版本控制中。 但是,未列出任何更改的文件。 為了清楚起見-上面列出的大多數目錄都包含我要添加或提交到倉庫中的新文件。 這些文件未列出,僅列出目錄。
如果我嘗試“ svn添加”這些目錄之一,我會得到
$ svn add app/Plugin/Metrics/Model
svn: warning: 'app/Plugin/Metrics/Model' is already under version control
如果我手動嘗試“ svn添加”我復制到本地工作副本中這些目錄之一中的文件,則會得到
svn add app/Plugin/Metrics/Controller/MetricsMetricsController.php
svn: warning: 'app/Plugin/Metrics/Controller/MetricsMetricsController.php' is already under version control
如果我手動嘗試提交相同的文件,我得到
svn ci app/Plugin/Metrics/Controller/MetricsMetricsController.php
沒有。 svn在客戶端上沒有反饋。 我正在前台的ubuntu框上運行svnserve,以查看它是否為我提供任何調試信息,但也什么也沒顯示。
svnserve -d --foreground -r /galaxypool/svn
令人沮喪的問題。 有什么想法如何使SVN提交嗎?
我最終完成了以下操作:-將新目錄樹從本地工作副本移至桌面。 - 發行:
svn delete app/Plugin/Metrics
D app/Plugin/Metrics
然后提交-這從存儲庫中刪除了損壞的Metrics文件夾:
svn commit -m "delete metrics"
Deleting app/Plugin/Metrics
Committed revision 16.
然后,我進入目錄樹並刪除了所有隱藏的“ .svn”文件夾,然后將其復制回本地工作集中。 svn狀態說
svn status
? wezwa
? app/Plugin/Metrics
然后我再次使用svn add將樹添加回去:
svn add app/Plugin/Metrics/
A app/Plugin/Metrics
A app/Plugin/Metrics/Config
A app/Plugin/Metrics/Config/bootstrap.php
A app/Plugin/Metrics/Config/cache.php ...etc
並提交:
svn commit -m "upload metrics"
Adding app/Plugin/Metrics
Adding app/Plugin/Metrics/Config
Adding app/Plugin/Metrics/Config/Schema
...etc
從Windows系統進行了測試,並且可以正常工作。 文件在存儲庫中是安全的。
首先,您需要添加新文件以進行版本控制。 例如:
svn add app/Plugin/Metrics/Test
之后,提交結果會將這些文件置於版本控制下。
但是,在使用另一個客戶端之前,您需要在那里更新工作副本。
svn update
這將為您提供存儲庫的實際狀態。 如果文件已經在本地存在,您將有沖突。 您將必須以某種方式解決這些沖突。
編輯 :似乎由於手動移動.svn目錄而導致工作副本損壞。 再試一次。 首先從存儲庫的全新干凈工作副本開始。 對要包括在新工作副本中的目錄進行導出(而不是檢出),然后將其復制過來。
請記住,這不是最好的選擇。 您可以使用外部關聯到另一個存儲庫,或者如果您需要在其中進行某些更改,請使用“供應商分支”(如此處所述: http : //svnbook.red-bean.com/en/1.7/svn.advanced.vendorbr)。 html )
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.