我使用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中删除文件,然后使用相同的名称(这是必需的)重新创建,但同样的修订历史记录再次出现。任何帮助将不胜感激。
答案 0 :(得分:1)
当您执行.#<filename>.<revision>
并且对已签出文件进行了更改时,会创建一个名为cvs update
的文件。这实际上是您拥有的版本的备份,以防更新执行您不想要的操作(例如,引入了您无法解决的冲突)。这允许您回滚更新。
解决此问题的最简单方法是在执行更新之前删除本地文件。这样就不需要CVS来创建这个备份文件了。
根据我的观察,这发生在经常提交的文件中。
这不是由频繁提交引起的。每次执行提交时,修订ID将按顺序增加。例如。 1.1
- &gt; 1.2
- &gt; 1.3
等等。进行分支时会添加额外的数字。例如,如果您从上述文件的1.3版本中取出分支,则修订号将为1.3.1.1
- &gt; 1.3.1.2
- &gt; 1.3.1.3
等。
我不知道你是如何工作的,但你的项目似乎已经引入了令人印象深刻的分支水平。在您解决该工作流程之前,几乎每次尝试更新时都会继续遇到此问题。您已达到许多文件系统上存在的256个字符的文件名限制。