Windows下TortoiseSVN检出问题

8
问题在于我正在检出一些文件,它们的文件名中含有特殊字符——当TortoiseSVN尝试检出代码时,它无法创建这些文件,从而导致检出失败。这也适用于更新操作。是否有任何修复/解决方法,例如提供替代文件名等?
更新:显然,这些文件是由xcode创建的。有人知道它们是做什么用的吗?如果我将所有的“>”更改为“-”之类的字符,文件名是否会破坏构建?

3
有哪些失败的路径示例? - Sander Rijken
无法检查路径 'D:...\MainController.o~>': 文件名、目录名或卷标语法不正确。这是它给出的确切错误消息(省略了部分路径),并停止更新。 - Vanwaril
1
文件名中有 > 符号吗?那是在哪个平台上检查的?你能在那里检查一下吗? - Pekka
存在带有$和>字符的文件,Leopard OSX上会检查文件的进出状态,而且它们分散在各个目录中,因此忽略文件夹并不能解决问题。 - Vanwaril
6
有一个程序会定期创建文件,文件名中包含 $> 这两个符号?这应该被视为一种可惩罚的行为。 - Pekka
2个回答

6
如果您具有写入权限,您可以使用repo浏览器直接在仓库中重命名文件,而无需先检出文件。

我有写入权限,但我需要检查并确保更改名称不会影响其他人或编译(这是AppleScript中的代码)。是否有一种方法可以省略这些文件并获取所有其他内容,而无需手动选择所有其他部分?就像一个except子句一样? - Vanwaril
1
通过巧妙的使用,Sparse Checkouts(http://subversion.tigris.org/svn_1.5_releasenotes.html#sparse-checkouts)可以让您忽略某些文件夹,但我认为在检出时无法忽略文件。 - D'Arcy Rittich

1

我认为这是不可能的。据我所知,global-ignoresvn:ignore都只用于将文件从版本库中排除出去。我能想到的唯一解决方案是在OS X上检出整个版本库,进行更改,检查代码,然后再导入。

如果这些文件是由某些工具自动生成的,你应该能够设置ignore规则,以防止它们再次进入版本库,具体取决于文件名的外观。

额外的想法:你可以尝试将OS X分区/驱动器挂载到Windows系统上,看看哪种命名规则适用。然而,我认为Windows通常禁止使用保留字符在它处理的所有文件中,无论目标文件系统是否支持它们。


不是我想要的答案,但还是谢谢 :) 希望 Xcode 不需要它们 -- 如果是这样的话,我就写一个脚本来删除所有这些并进行导入,呵呵。 - Vanwaril

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接