在svn中重命名文件夹,

时间:2012-05-01 12:37:16

标签: svn directory rename

在乌龟svn中, 在名为abc的文件夹中有3个txt文件。 当我将文件夹从abc重命名为xyz并查看show log时, 它只显示从abc复制xyz并删除abc文件夹 xyz中的文件虽然已复制但未显示在日志中。

当我在svn

中重命名文件夹时,如何查看文件

1 个答案:

答案 0 :(得分:1)

您没有看到三个文件中的更改,因为您没有更改这些文件。您只重命名了他们所在的目录。

您想要完成什么?假设Subversion确实将重命名的文件夹中的所有文件报告为已更改。这对你有什么帮助?我可以想象一些不是一个好主意的情况:

  • 想象一下我开始使用Maven的情况。在Maven中,我的源文件应位于文件夹src/main/java下。像大多数开发人员一样,我将我的Java源代码直接放在source下的存储库的根目录下。我现在必须将该目录中的文件移动到src/main/java,这可能代表数百个Java源文件。现在,代替我的日志仅显示三个文件被更改,将列出数百个。

  • 假设您在重命名目录时修改了一些文件。我如何知道列出文件的区别,因为修改了某个父目录而不是实际修改过的文件。人们已经抱怨日志显示某些属性被修改的文件,而不是文件本身(这可能会在合并发生并且svn:mergeinfo属性更新时导致问题)。现在,每个文件夹重命名将级联整个存储库。有时会创建一个标记,但名称没有完全正确(REL-1.2与rel-1.2.0),因此人们有时会重命名标记。现在,该标记中的所有文件都会在日志中显示为已更改?

在Python或Perl中做你想做的事情并不困难。只需执行svn log,然后当您看到某个目录在特定版本中重命名时,请在该文件夹上执行svn ls --recurse,并获取其中的所有文件。