Crunch:我可以在我的本地计算机上映射的驱动器上签出一个repo,而不在该目录上运行服务器吗?
Fluff:我是使用CVS的新手。我正在开发一个旧项目,所有原始开发人员都不再与我们在一起,或者忘记了他们是如何工作的。经过多次磨难后,我终于找到了项目源代码的位置(在我已映射到本地文件系统的公共驱动器上),但它是一个CVS回购。如何检查此代码,以便我可以实际处理它?</ p>
我使用的是Windows 7系统。
答案 0 :(得分:5)
通常这很简单:
cvs -d /path/to/repo checkout .
我假设使用了* nix系统,如果在Windows系统上使用 MSYS 环境,这也“正常”。 MSYS 下的主要区别是了解如何表示驱动器号。以下示例假定存储库位于 C:驱动器上。
cvs -d /c/path/to/repo checkout .
如果选择使用 cygwin 而不是 MSYS ,原则也会遵循,但 cygwin 使用不同的方法来引用驱动器号:< / p>
cvs -d /cygdrive/c/path/to/repo checkout .
请注意,如果您不熟悉 MSYS 或 cygwin 等Windows GNU环境,则可能需要注意 MSYS 是“极简主义的“GNU环境实现和 cygwin 绝对不是”极简主义“。这可能意味着 MSYS 可能对新采用者提出的挑战较少 - MSYS 的“极简主义”方面相对于将其用于CVS客户端没有任何负面影响
在Windows上使用CVS客户端的一个潜在复杂因素是,大多数人倾向于更改已签出文本文件的行终止格式,以匹配客户端环境中通常使用的格式。作为解释,如果源文件最初使用 LF 分隔符签入,则在Windows下运行的许多或大多数CVS客户端将使用 CRLF 行终止检出文件。虽然这可以正常工作,但如果编译器或构建环境对行终止敏感,它也可能会产生问题。受访者经历过许多情况,这种翻译弊大于利。
与许多或大多数其他CVS客户端不同, MSYS cvs
实现不会在结帐时转换文本文件的行终止。如果存储库中的文件具有 LF 行终止符,则签出的副本具有 LF 行终止符,并且如果存储库副本为 CRLF 终止,结帐副本也是如此。 (但是,可以使用dos2unix
和/或unix2dos
实用程序来更改已签出文件的格式。)
警告:受访者有 MSYS 偏见,并在工程环境中定期使用 MSYS ;当需要 Cygwin 提供的附加功能时,受访者更喜欢在Windows系统上使用* nix系统。