29

我一直在使用 Windows 机器作为测试服务器进行开发项目。最终,我希望“实时”版本最终出现在 Linux 机器上。在尝试在 Linux 机器上进行测试时,很明显我需要更改几个文件名的大小写,因为 Windows 不区分大小写,但 Linux 不区分大小写。当我在 Windows 中更改文件名大小写时,TortoiseSVN 识别出文件已更改并适当地标记了我的文件夹。但是,当我尝试提交更改时,TortoiseSVN 不仅告诉我没有进行任何更改,而且实际上将我所做的所有文件名更改恢复为原始大小写。

我的问题是,有没有一种简单的方法可以从 Windows PC更改文件名大小写并使更改出现在我的存储库中?如果可能的话,我想避免任何类型的删除、提交、替换、提交情况,以保持我的提交整洁。谢谢!

4

3 回答 3

30

从弹出菜单中使用Tortoise SVN 中的重命名选项。在此处查看详细信息(“移动文件和文件夹”一章)。

当您更改多个文件名的大小写时,换句话说,您更改了文件名-它们已超出版本控制-这就是为什么 SVN 客户端注意到受版本控制的文件已经消失(显然,这是因为 SVN 客户端没有t 正确通知)。

如果您在 IDE 时碰巧遇到这种情况,或者您不小心更改了案例 -当您选择显示为“缺失”和“非版本化”的两个文件时,会出现特殊的菜单选项修复移动。检查这个

于 2012-10-06T20:37:20.100 回答
21

我发现 Tortoise SVN 有一个自动修复文件名大小写更改的设置。默认情况下它设置为 true,因此如果您只更改名称中字母的大小写,那么它将为您撤消更改......我可能会默默地无情地添加,在我看来,这是非常烦人的默认设置。

无论如何,幸运的是,如果您导航到 TortoiseSVN Settings->Advanced->FixCaseRenames,您可以将其更改为 false,它将不再自动更正大小写更改。设置位置

于 2015-11-17T11:20:50.533 回答
1

如果有人在 Windows(不区分大小写的操作系统)上搜索如何在SmartSVN中执行此操作,步骤如下:

  1. 在浏览器中选择文件,在菜单 Modify -> Rename 并使用一些临时名称(例如在文件名末尾添加 X),提交更改
  2. 在浏览器中选择文件,在菜单中修改 -> 重命名并在正确的情况下使用正确的文件名,提交更改

只有在这种情况下,文件的日志才会被保存。

于 2016-01-13T09:36:36.630 回答