1

我使用 CVS 作为版本控制系统并面临一个奇怪的问题。对于某些文件,由于以下错误,我无法同步或更新(使用 eclipse):

"[Project Name]: cvs [update aborted]: cannot create .#lang_en.properties.1.1.2.3.2.7.2.2.2.3.2.1.2.1.2.3.8.1.2.4.6.12.2.3.4.1.4.3.2.6.2.13.4.4.4.1.2.9.2.2.2.1.8.1.8.1.14.1.8.3.26.1.8.1.4.4.6.17.4.2.6.6.6.3.2.2.2.2.10.2.2.2.2.2.2.9.2.7.2.1.4.10.4.2.2.3.4.4.2.2.2.1.2.1.10.2.8.1.6.1.4.1.4.2.6.1.2.1.2.2.4.5.4.1 for copying: File name too long"

根据我的观察,经常提交的文件会发生这种情况。发生的情况是团队中的某个人提交了这样的文件(有效),但是当团队中的其他人尝试同步或更新时,它只是显示“文件名太长”错误。我想澄清一下,在上面的示例中,文件名只是“lang_en.properties”。

我不知道如何解决这个问题。我什至尝试从 cvs 中删除文件,然后用相同的名称重新创建(这是必需的),但再次出现相同的修订历史。任何帮助,将不胜感激。

4

1 回答 1

1

.#<filename>.<revision>执行 a 时会创建一个名为 like 的文件cvs update,并且对签出的文件进行了更改。这实际上是您拥有的版本的备份,以防更新做了您不想要的事情(例如,引入了您无法解决的冲突)。这允许您回滚更新。

解决此问题的最简单方法是在进行更新之前删除本地文件。这样CVS 就不需要创建这个备份文件了。

根据我的观察,经常提交的文件会发生这种情况。

这不是由频繁提交引起的。每次提交时,修订 ID 都会按顺序增加。例如。1.1-> 1.2->1.3等等。进行分支时会添加额外的数字。例如,如果您从上述文件的 1.3 版本中取出一个分支,那么修订号将是1.3.1.1-> 1.3.1.2->1.3.1.3等。

我不知道您是如何工作的,但是您的项目似乎引入了令人印象深刻的分支水平。在您解决该工作流程之前,您几乎每次尝试更新时都会继续遇到此问题。您已经达到了许多文件系统上存在的 256 个字符的文件名限制。

于 2013-05-21T16:20:32.167 回答