2013-02-18 38 views
2

我在Ubuntu 12.04上安裝了一個svn repo,並且需要使用來自mac和windows客戶端的svn。我遵循this guide以使用自定義svn://協議來運行svn,並且我可以成功檢出我的repo。檢查時服務器不要求任何身份驗證?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 

沒什麼G。沒有svn對客戶的反饋。我在前臺的ubuntu盒子上運行svnserve,看看它是否給我提供了任何調試信息,但它也沒有顯示任何信息。

svnserve -d --foreground -r /galaxypool/svn 

Reeeealy令人沮喪的問題。任何想法如何讓SVN提交?

回答

1

我終於做了以下內容: - 感動我的新目錄樹從本地工作副本到桌面。 - 發行:

svn delete app/Plugin/Metrics 
D   app/Plugin/Metrics 

,然後提交 - 此刪除損壞的度量文件夾從回購:

svn commit -m "delete metrics" 
Deleting  app/Plugin/Metrics 

Committed revision 16. 

然後我去了我的目錄樹和刪除所有隱藏的「.svn文件」文件夾,並將樹複製回本地工作集。 SVN狀態表示

svn status 
?  wezwa 
?  app/Plugin/Metrics 

然後我說樹再次使用SVN地址:

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系統測試和它的工作。這些文件在回購中是安全的。

0

您首先需要爲版本控制添加新文件。例如:

svn add app/Plugin/Metrics/Test 

之後,將這些文件的結果提交到版本控制之下。

但是,在另一個客戶端上工作之前,您需要更新那裏的工作副本。

svn update 

這會給你存儲庫的實際狀態。如果文件已經在本地存在,您將會發生衝突。你必須以某種方式解決這些衝突。

編輯: 看起來好像你有一個破損的工作副本,因爲手動移動.svn目錄。試着再次這樣做;從一個全新的工作副本開始。做一個你想要包含到新工作副本中的目錄的導出(而不是結賬)並複製它們。

請記住,這不是最好的事情;您可以使用外部對象涉及到另一個倉庫,或者如果你需要有改變的東西用「供方分支」(喜歡這裏描述的:http://svnbook.red-bean.com/en/1.7/svn.advanced.vendorbr.html

+0

svn update says'At revision 15.' – 2013-02-18 13:36:37

+0

我檢出了完整的cackephp文件夾結構 - svn服務器沒有要求用戶驗證。然後我將完整的指標文件夾結構複製到本地工作副本中,包括新文件。在上面的問題中,我完全按照你的要求 - 'svn add app/Plugin/Metrics/Model svn:warning:'app/Plugin/Metrics/Model'已經在版本控制之下。 svn update說:「在修訂版15.' – 2013-02-18 13:44:30

+0

你是否複製了那些」.svn「子文件夾?如果是這樣,那是你的問題。刪除所有這些,但刪除你的工作拷貝。 – Argeman 2013-02-18 13:54:06