报错问题
如题,在使用perforce版本控制软件上传文件的时候有时会报"next changelist already exists!"错误提示,如下图;博主也查阅了很多相关资料,由于这方面的资料实在有限始终也没能看到有效的信息;最终在各种尝试下问题终于得到了解决
首先介绍一下perforce中的changelist,在perforce中changelist称为变更列表;当您标记要添加或删除的文件、检查它们、集成它们或调度它们以便解决时,这些文件将添加到变更列表。PrimeCeleListRIST是要在文件上执行的操作的列表。在提交变更列表时执行变更列表中的操作。变更服务器由PrimCE服务器分配唯一的数字。此外,为每个客户端工作区维护默认的变更列表。如果默认的更改列表提交失败,则服务器将其分配给一个数字。
要签入单个文件:假设文件已经签出或标记为添加或删除,选项-单击depot或worksapce窗格中的文件,然后选择Submit...P4V显示提交对话框。输入一个描述,选择文件并根据需要附加作业,然后单击Submit。如果尚未准备提交,请单击“取消”。简单的说,changelist的作用就是在使用perforce对文件进行相关操作的时候所需要填写的备注消息,而这些信息统一被写在db.change和db.changex数据库文件中,并将其存放在服务器上;
解决方法
1、要想解决这个报错问题很简单,首先停止perforce服务
2、然后打开perforce服务器的安装目录;找到db.change和db.changex数据库文件,将其删除或者剪切出来
3、重启perforce服务,问题即可解决。文件也可以上传成功(如果服务无法启动,参看前述文章)
问题原因分析:博主个人认为应该是在日常使用的过程中,用户进行大量的上传操作导致;因为changelist的每一个编号都具有唯一性,当编号相同时就会提示changelist已经存在;而可能由于软件的自身原因,当db.change和db.changex数据库文件增长到一定大小的时候,就会超出配置文件读取的范围了,所以将其删除即可解决问题。
原创文章,转载请注明出处。欢迎纠错指正