和一般文件相比,源码库里的文件也没有什么特别的地方,在很大程度上它们可以和一般文件一样备份。然而,在源码库的备份中还是需要考虑以下问题。
首先要注意,用户不能在备份的时候使用CVS,或在备份进行的时候使用备份程序锁定CVS。如果要停止使用CVS,你可阻止其他机器登录进源码库,即关掉你的CVS服务器,或采用类似的机制来停止CVS服务。详细作法取决于你的操作系统和CVS的设置。如果要锁定CVS,你需要创建#cvs.rfl 来锁定每一个源码库的目录。请参阅[多人同时运行CVS 在 第 10 章]查找更多关于CVS锁定的细节。总之,如果你没有进行以上的操作就进行备份的话,操作的结果是不可预知的。在这种情况下,当源码库从备份恢复的时候可以会处于版本不一致的状态,但是这时也可以进行手动修复,并不是特别困难。
当你从备份中恢复源码库的时候,假设源码库里的某些修改是在备份后进行的,没有受到故障影响的工作目录可能指向一个源码库里并不存在的版本。 通常在这种目录里运行CVS将引发一个备份错误。这时要将上一次备份后的修改工作备份进源码库可以按以下操作进行:
创建一个新的工作目录。
将出错前工作目录的所有文件拷贝到新的工作目录(当然不要拷贝CVS目录的内容)
在新的工作目录中使用cvs update和cvs diff等命令列出修改的内容,然后把这些修改的内容提交进源码库。