我有错犯了一个文件两次 - 唯一的区别是在其中一个文件名称的大写字母:如何删除重复的文件在以前的版本
- myfile.txt文件
- MYFILE.TXT
使用龟,我可以看到这两个文件在以前的版本,我可以选择它们,当我按下d elete它问我一个评论,并提交它告诉我,该URL不存在。我不再需要这两个文件了。
我们使用Trac进行项目管理,但由于我提交了这两个文件,所以无法与我们的代码同步。
如何才能删除麻烦的文件?
我有错犯了一个文件两次 - 唯一的区别是在其中一个文件名称的大写字母:如何删除重复的文件在以前的版本
- myfile.txt文件
- MYFILE.TXT
使用龟,我可以看到这两个文件在以前的版本,我可以选择它们,当我按下d elete它问我一个评论,并提交它告诉我,该URL不存在。我不再需要这两个文件了。
我们使用Trac进行项目管理,但由于我提交了这两个文件,所以无法与我们的代码同步。
如何才能删除麻烦的文件?
有没有一种简单的方法,因为svn旨在永远不会忘记任何东西。 有a workaround你可以试试。
正如我理解你的问题,重点不在于让Subversion忘掉你的文件(正如丹尼斯的回答中所讨论的),因为它正在纠正一种情况,即你有两个不可用的文件,因为它们的名字只有在。解决方案非常简单 - 打开存储库浏览器并删除或重命名其中一个有问题的文件。即使在本质上不区分大小写的系统(即Windows)上也可以完成此操作,因为存储库本身仍然区分大小写。 (虽然没有说明太多,但手动参考的是Dealing with filename case conflicts。)
在这样的路径错误上,我强烈建议使用命令行SVN客户端而不是像Tortoise这样的图形客户端。您可以使用'svn list'命令在资源库查看它们时获取确切的文件/文件夹名称,然后将它们复制/粘贴到'svn delete'命令中。这样,您就可以最大限度地减少遇到与案件有关的问题的几率。
根据您对msorens的回答的评论,它看起来好像文件在当前版本库中不存在。如果是这样,那么你可以做的事情就不多了。 Subversion将存储库历史记录视为单个线性提交系列。所有修改都是对存储库的头部进行的;你通常不能“回到过去”并改变过去的存储库状态。删除一个提交是可能的(但并不容易),但是它会抛出所有的提交。因此,建议仅对最近提交到存储库的内容进行处理(以尽量减少副作用)。一些其他的版本控制系统(例如git)在修改版本库历史记录方面具有额外的功能。颠覆,不幸的是,不。
我已经找到了解决方案,但我希望有一个更简单的方法:) – Chau 2011-12-21 11:37:43