2011-12-21 49 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)在修改版本库历史记录方面具有额外的功能。颠覆,不幸的是,不。