【问题标题】:TortoiseSVN checkout problem in WindowsWindows 中的 TortoiseSVN 结帐问题
【发布时间】:2010-01-02 14:56:21
【问题描述】:

问题是我正在检出一些文件名中包含特殊字符的文件——当 TortoiseSVN 尝试检出代码时,它无法创建这些文件并且检出失败。这也适用于更新。是否有任何修复/解决方法,也许可以提供替代文件名或其他东西?

更新: 显然,这些文件是由 xcode 创建的。有谁知道他们做什么?如果我更改文件名(例如将所有 > 更改为 - 之类的),它会破坏构建吗?

【问题讨论】:

  • 任何路径失败的例子?
  • 无法检查路径 'D:\...\MainController.o~>':文件名、目录名或卷标语法不正确。这是它给出的确切错误消息(省略了部分路径)并停止更新。
  • 文件名中有>?这是在哪个平台上签到的?可以去看看吗?
  • 带有 $ 和 > 的文件存在,在 Leopard OSX 上签入和签出。而且它们分散在各个目录中,因此忽略文件夹无济于事
  • 有一个程序定期创建名称中带有$> 的文件?这应该被定为应受惩罚的罪行。

标签: svn xcode tortoisesvn filenames


【解决方案1】:

如果您有写入权限,则可以使用 repo 浏览器直接在 repo 中重命名文件,而无需先实际签出文件。

【讨论】:

  • 我有写权限,但我需要检查并确保更改名称不会影响其他任何人或编译(它是 applescript 中的代码)。有没有办法让它省略这些文件并获取其他所有内容而无需手动选择所有其他部分?就像在 except 子句中一样?
  • 通过一些巧妙的使用,稀疏结账 (subversion.tigris.org/…) 可以让您忽略某些文件夹,但我认为在结账时忽略文件是不可能的。
【解决方案2】:

我不认为这是可以做到的。据我所知,global-ignoresvn:ignore 都仅用于将文件 out 保留在存储库中。我能想到的唯一解决方案是检查 OS X 上的整个存储库,进行更改,检查代码,然后将它们导入回来。

如果文件是由某些工具自动生成的,您应该能够设置ignore 规则来防止它们再次进入存储库,具体取决于文件名的样子。

其他想法:可以尝试将 OS X 分区/驱动器安装到您的 Windows 系统,然后查看适用的命名规则。然而,我认为,无论目标文件系统是否支持它们,Windows 通常在它处理的所有文件中都使用forbids the use of reserved characters

【讨论】:

  • 不是我希望的答案,但谢谢 :) 我希望 xcode 不需要它们——如果是这样的话,我会写一个脚本来删除所有这些并导入,呵呵。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多