2011-12-21 50 views
1

我有錯犯了一個文件兩次 - 唯一的區別是在其中一個文件名稱的大寫字母:如何刪除重複的文件在以前的版本

  • myfile.txt文件
  • MYFILE.TXT

使用龜,我可以看到這兩個文件在以前的版本,我可以選擇它們,當我按下d elete它問我一個評論,並提交它告訴我,該URL不存在。我不再需要這兩個文件了。

我們使用Trac進行項目管理,但由於我提交了這兩個文件,所以無法與我們的代碼同步。

如何才能刪除麻煩的文件?

回答

0

有沒有一種簡單的方法,因爲svn旨在永遠不會忘記任何東西。 有a workaround你可以試試。

+0

我已經找到了解決方案,但我希望有一個更簡單的方法:) – Chau 2011-12-21 11:37:43

1

正如我理解你的問題,重點不在於讓Subversion忘掉你的文件(正如丹尼斯的回答中所討論的),因爲它正在糾正一種情況,即你有兩個不可用的文件,因爲它們的名字只有在。解決方案非常簡單 - 打開存儲庫瀏覽器並刪除或重命名其中一個有問題的文件。即使在本質上不區分大小寫的系統(即Windows)上也可以完成此操作,因爲存儲庫本身仍然區分大小寫。 (雖然沒有說明太多,但手動參考的是Dealing with filename case conflicts。)

+0

是的,看起來很簡單。問題是當我嘗試刪除或重命名其中一個重複項時,Tortoise給我一個* path *錯誤。當我在修訂版767中重新命名其中一個時,烏龜實際上抱怨修訂版977(最新)的路徑。在977該文件甚至不存在了。 – Chau 2011-12-22 07:35:55

+0

重命名時,Tortoise實際上報告未找到*文件:修訂版977,路徑*。 – Chau 2011-12-22 07:42:03

2

在這樣的路徑錯誤上,我強烈建議使用命令行SVN客戶端而不是像Tortoise這樣的圖形客戶端。您可以使用'svn list'命令在資源庫查看它們時獲取確切的文件/文件夾名稱,然後將它們複製/粘貼到'svn delete'命令中。這樣,您就可以最大限度地減少遇到與案件有關的問題的機率。

根據您對msorens的回答的評論,它看起來好像文件在當前版本庫中不存在。如果是這樣,那麼你可以做的事情就不多了。 Subversion將存儲庫歷史記錄視爲單個線性提交系列。所有修改都是對存儲庫的頭部進行的;你通常不能「回到過去」並改變過去的存儲庫狀態。刪除一個提交是可能的(但並不容易),但是它會拋出所有的提交。因此,建議僅對最近提交到存儲庫的內容進行處理(以儘量減少副作用)。一些其他的版本控制系統(例如git)在修改版本庫歷史記錄方面具有額外的功能。顛覆,不幸的是,不。