簡體   English   中英

SVN:不能提交“x”和“y”,因為它們指的是同一個 URL?

[英]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.

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