[英]SVN: Cannot commit 'x' and 'y' as they refer to the same URL?
我正在嘗試對我的項目進行提交並遇到以下錯誤。 密切關注路徑:
Commit failed (details follow):
Cannot commit both
'C:\Development\Project\branches\nextver\project\bin\com\companyname\blah\Foo.java'
and
'C:\Development\Project\branches\nextver\project\src\com\companyname\blah\Foo.java'
as they refer to the same URL
這到底是怎么發生的? 我從來沒有在 Eclipse 的 bin 路徑中有我的源文件? 我能做些什么來解決它。 請告訴我有什么比再次檢查並替換所有文件更好的方法,我有 191 個 Java 文件。 更不用說資源和 Eclipse 文件了。
我知道你發布這個已經一年多了,但這可能對其他人有所幫助。 我剛剛經歷了同樣的問題。 我最終將其追溯到 Eclipse 上的項目設置。 在我的情況下,發生的事情是 eclipse 中的構建過程是“構建”/將源文件夾中的所有文件復制到構建文件夾。 這導致將源中的 .svn 目錄復制到構建文件夾,這就是 Subversion 混淆的原因。 如果您通過 RepoBrowser 檢查路徑(我在 Windows 環境中使用 Tortoise)路徑指向正確的目錄(源和構建),但是如果您從本地計算機上的目錄中運行“svn info”,您會發現源和構建目錄指向相同的 URL (因此消息)。
一旦我意識到問題出在 Eclipse 並且不是特定於 Subversion 的問題,就很容易找到解決方案。 您需要在 Source 選項卡的 Java Build Path 中的源排除項中添加“**/.svn/”:
項目 --> 屬性 --> Java 構建路徑。
嘗試這個:
Go 到C:\Development\Project\branches\nextver\project\bin\
並刪除.svn
如果你看到一個。 然后嘗試提交。
我認為src
中的某些東西,包括.svn
被復制到bin
中,使它們看起來像是來自服務器中的同一個 url。 你當然不希望這樣。 您可能需要更正構建設置。
解決方案是從我的本地副本中刪除並忽略我的 bin 目錄。 再次。 Tortoise SVN 似乎忘記了我以前做過,我沒有注意到 bin dirs 已經悄悄進入,導致了這個問題。 在解決了它在我的路徑中拋出的其他幾個問題(沖突的源樹等)之后,我設法讓它提交。
我確實首先嘗試從 bin 目錄中刪除 .svn 文件夾,但所做的只是導致它抱怨 bin 目錄不再受源代碼控制並停止。
就我而言,我有一個在兩個項目之間共享的配置文件,但我已經在兩個項目中更新了該文件(具有相同的更改)。
SVN 無法提交,因為它認為有兩組不同的更改要提交到同一個文件。
所以我恢復了其中一份副本,然后我就可以提交了。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.