【问题标题】:CVS update ignore directories from repository, namely illegal names in windows like auxCVS 更新忽略存储库中的目录,即 Windows 中的非法名称,如 aux
【发布时间】:2014-01-10 13:53:10
【问题描述】:

我无法检查一个名为aux 的目录,因为该名称是 Windows 中的非法目录名称(我相信是 DOS 的残余名称)。我无法操作存储库本身。

我使用 TortoiseCVS,但它没有忽略存储库中可用目录的选项。使用 .cvsignore 也不起作用,因为那只会忽略提交。

这可能吗? TortoiseCVS 简单地说了以下,这很令人沮丧:

Tortoise 提示:此错误可能是由于存储库中存在同名(大写除外)的文件夹和文件。无法在 Windows 文件系统上签出此类存储库。

CVS 的实际错误是这样的:

cvs [更新中止]:无法 chdir 到 aux:错误地址

注意:我可以接受一种解决方案,在该解决方案中,我可以签出除此之外的所有文件夹。由于有 1000 多个文件夹,手动检出所有其他文件夹并非易事。

【问题讨论】:

  • 假设您以某种方式访问​​了存储库,是否有可能删除该目录,或者您是否需要它成为项目的一部分?
  • @BurhanAli 不幸的是,我无法删除存储库中的目录,它是存储库的一部分,对我来说是只读的。我只能通过 CVS 访问存储库。
  • 这不是我的意思。我读到这个问题的第一反应是启动 Linux VM,检查项目并使用 CVS 删除目录。这只有在文件夹对项目不是必需的情况下才有可能。所以这就是我要问的:项目需要这个文件夹吗?
  • @BurhanAli:不,我可以没有那个文件夹。您的建议是通过 Linux 签出,删除令人反感的文件夹,复制到 Windows?艰难的路线,但我猜应该可行。

标签: cvs special-folders tortoisecvs


【解决方案1】:

我会这样做:

  • 启动 Linux 机器(物理或虚拟,真实安装 live DVD,没关系)。
  • 使用cvs查看项目。
  • 使用cvs rm 删除目录的内容并提交更改。
    • 请注意,很遗憾,cvs 不允许您自己删除目录。
  • 回到 Windows 机器并再次签出项目或执行cvs update。

您需要做的一件事是添加-P 选项,该选项将修剪空目录。如果你不添加它,它仍然会尝试下载空的aux 目录。

【讨论】:

    猜你喜欢
    • 2012-06-30
    • 1970-01-01
    • 2011-07-30
    • 1970-01-01
    • 1970-01-01
    • 2011-09-30
    • 2016-05-19
    • 1970-01-01
    相关资源
    最近更新 更多