我希望这是正确的。
基本上,我有一组在SVN存储库中版本化的文件,我正在使用TortoiseSVN。这些文件都需要重命名,以便它们的新名称等于它们的当前名称,并在前面添加前缀。
Tortoise能够重命名文件,但必须手动完成,逐个文件,通过GUI菜单完成,我宁愿选择一个不那么繁琐且耗时较少的解决方案。 < / p>
我在本网站上看到过使用基于Windows的解决方案的示例,但我不希望它们起作用,因为它们不会通过TortoiseSVN更改文件名,而是通过资源管理器,这会导致TortoiseSVN无法识别这些文件相当于原件,即使我们认为它们也是如此。
我看到另一个问题,链接在这里:(tortoise svn mass rename files merge)
其中提问者说文件是用Windows工具重命名的,因此SVN无法识别它们,提供的解决方案是编写一个新脚本,它将获取旧名称,用新名称替换它,并重复每个条目。但是,除非我误读它,否则该解决方案需要进入并为每个条目指定旧名称和新名称,从我的角度来看,这可能与在TortoiseSVN中执行手动选项一样耗时。
我考虑了另一种可能性,我可以使用Windows命令行制作目录中每个文件的副本,重命名副本以适应。然后我会SVN删除旧文件和SVN添加新文件。这将实现重命名,但历史关联将被中断,因为它在技术上不再是同一个文件。
我遇到的问题是,当我读到询问类似查询的不同问题时,它们似乎是围绕为每个条目指定起始文件名和结束文件名而构建的。我想对每个文件进行全面重命名,没有需要在执行之前或之后考虑文件名。
因此,我的调查让我提出这样一个问题:给定一组已知的现有文件 F ,以及一个已知的常量前缀 P ,可以使TortoiseSVN使用前缀P自动更新F中的每个条目,但是TortoiseSVN将其识别为其内部“重命名”过程(而不是外部过程,在其视角中,它将取代而不是更改,给定文件),而且不必在F中定义每个文件的结果名称(因此不需要为每个条目指定旧的和新的文件名),这样每个文件都可以更新而无需每个文件的人工干预? / strong>感谢您的阅读。