Tortoise SVN 1.7复制文件问题

时间:2011-11-25 16:52:20

标签: svn tortoisesvn

由于我正在使用较新版本的SVN(1.7),因此发生了令人担忧的事情。

我有一个较旧的项目,我想将一些CI构建脚本复制到一个新项目中。我原来习惯使用右键拖放然后“在此处导出所有版本化的项目”或其他任何调用来获取没有SVN历史记录的文件的副本。

在找不到该选项后,我做了一个快速谷歌并找到了:

http://groups.google.com/group/tortoisesvn/browse_thread/thread/66b30b120756e2ea/47023377b04ef1db?show_docid=47023377b04ef1db

现在我只是复制并粘贴我的文件而且由于某种原因保留了shell中的最新图标,我认为可能只是操作系统没有更新文件夹而忽略了它,当我去了提交我检查了日志,以确保它没有以某种方式链接到旧项目,它说没有版本信息。

无论如何,我实际上已经提交了我查看日志并查看针对之前存储库的所有签入然后我的...所以它当前的日志条目是新项目,之前的所有内容都有旧项目的历史记录......这是一个错误还是在这里出了问题?

我不知道为什么这个不相关的存储库会从复制文件中获得来自其他无关项目的任何信息......

2 个答案:

答案 0 :(得分:0)

这种行为听起来很有益。拥有从旧项目复制的文件的修订历史记录是有益的。 如果您不想从旧项目中查看修订历史记录,可以在修订日志对话框中选中“停止复制/重命名”框。 当您使用资源管理器拖放文件时,我怀疑您还复制了旧工作副本中隐藏的.svn文件夹。如果您真的想要删除修订历史记录,您可以使用repo-browser进入存储库,选择旧项目文件并导出到新项目工作副本文件夹。然后从新项目工作副本将文件添加到新项目存储库。

答案 1 :(得分:0)

我认为你在谈论在两个不同的颠覆项目之间复制文件。如果这是您想要的,请在一个“工作副本”中签出文件,然后递归删除所有“.svn”文件夹。这会将“工作副本”“转换”为一堆文件(没有修订历史记录或基本远程存储库)。

由于文件现在只是一堆文件,您可以将它们复制到“新”存储库中,并使用svn add ...命令添加。当然,您还必须检查它们。

当您尝试对文件进行跨存储库移动时,将目录从“旧”工作副本移动到“新”工作副本中会将一个工作副本的“.svn”文件夹放入另一个工作副本中。由于这些文件夹包含目录的subversion工作副本配置,因此您可以在一个工作副本中有效地混合配置。这通常会产生一些非常不良的影响。如果我是你,我只需抓取“重要”文件的副本并删除整个存储库。然后我会使用新签出的存储库再次尝试操作(并且注意不要复制“.svn”文件夹,或者拖放操作可以帮助您自动复制它们。)

通常情况下,在工作副本中复制“.svn”文件夹(这是使得tortise成为可能并且很好用的部分原因);但是,subversion的设计并不能让你安全地在工作副本之间复制这些文件夹