【问题标题】:How to fix issue when committing a change to CVS提交对 CVS 的更改时如何解决问题
【发布时间】:2011-11-12 18:48:03
【问题描述】:

我正在尝试将更改提交到 CVS 存储库,但出现以下错误:

RCS file: /opt/CZarmen/CVS_REPOSITORY/Z_user/lib/python/StudioCustom.py,v
retrieving revision 1.38
retrieving revision 1.39
Merging differences between 1.38 and 1.39 into StudioCustom.py
M lib/python/StudioCustom.py

RCS file: /opt/CZarmen/CVS_REPOSITORY/Z_user/menu_scripts/Y/ZExtensions,v
retrieving revision 1.46
retrieving revision 1.47
Merging differences between 1.46 and 1.47 into ZExtensions
M menu_scripts/Y/ZExtensions

cvs commit: Up-to-date check failed for `lib/python/StudioCustom.py'
cvs commit: Up-to-date check failed for `menu_scripts/Y/ZExtensions'
cvs [commit aborted]: correct above errors first!

为什么无法提交我的更改?我如何“纠正上述错误”?

【问题讨论】:

    标签: cvs commit conflict


    【解决方案1】:

    此外,以防您有时在更新本地版本时可能会出错。最终解决方案是:

    1.手动将本地代码保存到另一个地方

    2。将可能有冲突的文件恢复到 CVS 服务器上的 HEAD(最新)版本。

    3.将您的更改添加回已恢复的文件。

    上述解决方案的概念是通过 REVERT 清除所有可能的问题,并从存储库中获取 100% 干净的版本,然后添加回我们的更改。

    它可以解决以下由代码过期/代码库混乱引起的问题。

    1. CVS 提交发生冲突,尚未修改
    2. CVS 更新失败
    3. CVS 未同步

    【讨论】:

      【解决方案2】:

      您需要先通过运行cvs up 更新您的工作副本,因为在您处理这些文件时有人已经更新了这些文件。 CVS 无法在提交期间自动合并这些更改。

      【讨论】:

      • 但是如果我更新我的工作副本,我会丢失我的编辑,不是吗?我的意思是,假设文件包含“abc”,我想将其设为“abcd”,但有人已经将其更新为“abce”。如果我更新我的工作副本,我的文件将是“abce”,而“abcd”将会丢失,对吧?
      • 还有,哪个是“工作副本”? CVS 存储库中的那个,还是我本地计算机中的那个?
      • 工作副本是您要在其中执行cvs commit 调用的目录。服务器部分称为存储库。 cvs update 不会覆盖您的更改(除非您通过 -C 标志),但如果您担心可以先使用 cvs diff >myChanges.patch 将您的修改保存在补丁中。
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2011-06-09
      • 1970-01-01
      • 1970-01-01
      • 2019-06-02
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多