今天在cvs中add文件的时候,报错“cvs add: config.php added independently by second party。Error, CVS operation failed”,于是查到了以下的文章,以后会有用滴,转载一下。
以下文章转自http://www.cnitblog.com/embedder/articles/18061.html
Wincvs 常用命令:
安装 Wincvs
一: 进行设置 CVSROOT 的环境变量
具体步骤是 点 admin —— log in 在 login settings 中选上 CVSROOT, 比如说我的设置是: pserver:zhw@SERVERIP/cvsserver 其中 pserver 代表了一种 CVS 的一种远程访问方式; zhw 是我这个客户端在服务器上的用户名,在服务器上设置 ; SERVERIP 是 CVS 服务器的 IP 地址; cvsserver 是服务器上的其中一个仓库名。
第一次设置好后 以后设置就可以不用再输入 ,直接点上就可以。
设置好后,输入正确的登入密码就可以连接访问到服务器仓库的内容了。
二:已操作的常用的 CVS 命令
1 checkout (co) 把服务器上的内容导入到客户机上。 admin—checkout module , 然后会出现一个 checkout setting 选项。各个选项的具体注意事项见后面的说明
2 checkin (commit, ci) 把从仓库中拿出来的文件或者文件夹(经过修改后)再次提交给仓库 (注意如果这个文件之前在仓库中没有就要先 add )
3 import 把选中的文件或者文件夹导入到仓库中,此步骤只在文件或文件夹第一次导入时使用,其它时候尽量用 add 和 commit
4 update 更新本地文件,从服务器将修改取到本地,它可以更新一个文件,一个文件夹,或者整个目录层,更新对仓库是没有影响的。
5 add 把某个文件或者文件夹添加到仓库中,需要两步。第一步是 add 第二步是 commit
6 status 可以显示当前选中的文件的具体参数和状态
其中有几个要能看懂:
up-to date代表现在要的文件是最新的
locally modified 代表说你曾经修改过但没有提交,版本比仓库里的新
needing patch / 表明已经有人修改过文件并且已经提交了,版本比仓库的旧
needs merge 你曾经修改过文件,但是也有别人修改过了文件,而且也提交给了仓库
7 release 点 trace-----release 效果等于完全取消了 checkout 的效果,把下下来的文件等完全从工作文件夹中取消掉,只能通过再次从仓库中 co 才可以(比较 :在 windows 资源管理器下把某个文件删掉的话,在 cvs 下并没有真正的删去,可以不需要 co 来实现再次恢复 )
各个命令操作中注意的问题:
1 添加文件和文件夹( add-commit//import )
向 cvs 仓库中添加一个文件的时候一定要保证被添加的文件或者目录在当前目录中,也就是在当前目录中必须保证存在一个 cvs 文件夹才可以进行添加。
所以就是要从大目录开始提交, 再一步步往下层走。
其中有 2 种方式
a 选中某个文件 modify—add 这个只能是一个一个文件添加
b 选中某个文件夹然后 macros---recursive add (回归添加),这样就能把该文件夹下的所有文件一次性添加(虽然有一个 auto-commit 但是其实是不可以同时实现提交而要接着做下面的这个操作) ,而不需要一个个的去添加;再次选中这个文件夹,通过 commit 把文件夹下的所有文件都提交到仓库中去。
Ps: 与 import 的区别
import 的功能缺省下是可以把整一大个目录树添加到仓库目录下,作为一个 module .
选 remote –import module 后会出现一个 import 的过滤器,要对每一个警告进行设置(主要是设置哪些文件类型要被过滤掉,即不存入仓库),然后出现一个 import setting 的一个选项,通过这个设置可以把要 import 的东西放在仓库非第一层目录下 , 这种做法的优点是可以把所选文件夹下的所有文件、文件夹以及文件夹下的所有文件都提交给仓库,但是同时也存在一个不足之处就是必须得知道要放在服务器中的详细路径才可以。
2 checkout
在 checkout setting 的设置中要注意
一定要核对 local folder to checkout to 的地址是否是你 所想把内容 保存在你电脑上的地址
module name and path on the server 这个选项是指你要从仓库中取得文件在仓库中的目录(可以在命令行中通过 cvs ls ( 下一级文件名 ) 来查看仓库中所具体拥有的文件和文件名,也就能知道了所有文件的路径)
3 update 更新
选 modify---update
其中每一个设置都是很重要的
update setting 中第1个选项 实现更新当前文件
第 2 个选项是说把仓库中存在但现在在该目录下未出现的所有文件都下到本地来,也就说可以把别人的修改合并到本地来
update option 中除了选填的是那 branch 外其他都是被认为是被打上了一个 tag ,打了 tag 的文件是不能被提交的,这也就是为什么对这样操作后的版本文件操作后想再次提交确总是出现错误,提示说该文件不是一个 branch 。我们可以通过版本创建的时间,等等信息来 update 出自己想要的版本。
其中 reset any sticky tags/date/kopts 选中它, 就可以把原来打的 tag 给取消。
Merge 选项时要注意,比如在某 1.1 版本的基础上做了修改 生成了 1.2 的版本,现在我们又想取出 1.1 的版本,我们就要通过 merge 来做。(通过版本号 update 出 1.1 来是不正确的做法,这样会不能再提交,相当于对它打了一个 tag ,打了 tag 的是不能再提交的了 )
几种常见错误提示原因及解决办法
1 “ No cvsroot specified!please use the ‘-d’option
:or set the cvsroot environment variable ”
这个情况多是因为你所操作的对象所在目录级没有 cvs 文件夹,可以通过任何方式获得 cvs 文件夹来解决问题 ,有的时候你选中的目录层并不是 你所操作的对象这样也能解决问题。
可见 cvs 文件夹是否存在 相当的重要,它直接决定了很多操作是否能完成
2 “ cvs server: encoder.c added independently by second party ”
如果你要 cvs add temp 出现上面信息,这是因为仓库在同样的位置已经有了同样的文件,仓库里已经有这个文件你再要 add 就不可能了,所以可以给文件改个名,再进行 add 就可以正确 add 了。
3 “ cvs server sticky tag ‘1.2’ for file ‘aa.c’is not a branch
cvs[server aborted]: corret above errors first ”
出现这个错误提示是因为通过版本号把 1.2 版本的给 update 下来,这相当于已经对它打了 tag ,再对它修改 提交是不允许的 。如果是通过 branch 给 update 下来的就是可以修改提交了(这在 update 注意事项设置中提到)
分享到:
相关推荐
### WinCVS使用手册知识点详解 #### 一、版本控制的重要性及CVS的地位 ...掌握了WinCVS的使用方法,不仅能够提高工作效率,还能有效避免版本混乱等问题的发生。希望每位读者都能够通过实践,真正掌握这一强大的工具。
本教程将深入探讨WinCVS的配置和使用方法,帮助你快速上手。 ### 配置WinCVS参数 1. **认证方式**:WinCVS默认使用pserver协议进行身份验证,这是一种基于密码的认证方式。用户需要提供正确的用户名和密码才能访问...
根据提供的文档信息,本文将对WinCVS的安装与使用进行详细介绍,并...通过以上步骤,用户可以熟练掌握WinCVS的基本操作方法,实现高效的版本控制管理。这不仅有助于提高软件开发的效率,还能有效减少错误和问题的发生。
对于初学者而言,掌握WinCVS的使用方法和深层次理解其功能,是提高开发效率和协同工作能力的重要途径。《wincvs入门到精通》这本教程,正是为此类需求量身定制的。 本书的出发点是向读者介绍CVS的基本概念和工作...
通过阅读《WinCvs使用指南》的三个部分(WinCVS_1.pdf、WinCVS_2.pdf、WinCVS_3.pdf),初学者可以逐步掌握WinCvs的使用,从而更有效地参与CVS版本控制的项目协作。这份指南不仅是入门教程,也为有经验的用户提供了...
本教程提供了详细的WinCvs 使用说明。第一章介绍了CVS 的基本概念、WinCvs 的工作方式和工作流程、创建Cvs 库的方法、导入Module 和Checkout 的操作。第 二章介绍了WinCvs 常用的版本控制操作,例如同步(Update)、...
《wincvs从入门到精通》是一本针对版本控制系统Wincvs深入浅出的教程,旨在帮助初学者快速掌握这一工具的安装与使用方法。Wincvs是基于CVS(Concurrent Versions System)的图形化界面,使得在Windows环境下管理代码...
《深入理解Wincvs 1.3:中文版使用详解及常见问题解析》 Wincvs 1.3是一款专为Windows操作系统设计的CVS(Concurrent Versions System)客户端工具,它以其易用性和强大的版本控制功能在IT行业中广受欢迎。本文将...
本文将深入探讨WinCVS与CVSNT这两个常用的版本控制工具,以及它们的使用方法。 **WinCVS介绍** WinCVS是一款基于Windows操作系统的图形化CVS客户端,它为用户提供了友好的界面来访问CVS服务器,进行版本控制操作。...
3. **代码操作**:使用WinCVS进行文件的添加、删除、更新、提交等操作,以及查看文件历史、合并冲突等功能。 4. **版本控制**:WinCVS提供版本对比、分支管理等高级功能,帮助您更好地管理代码版本。 **六、常见...
内容涵盖了WinCVS和CVS的基本概念、安装步骤以及实际操作中的使用方法。 ### 2. CVS简介 CVS是开源的版本控制系统,它允许多个开发者在不同的地点同时修改同一份代码库。通过记录每一次修改,CVS可以追踪代码的历史...
本文档旨在为用户提供一份详细的WinCVS使用指南,包括但不限于CVS的基本用法、配置、登录、检出(Checkout)、CVS命令等内容。通过本指南,用户可以快速掌握如何利用WinCVS进行版本控制和项目管理。 #### 二、安装...
尽管Linux平台上的用户可以使用内置的CVS服务端,但对于那些使用Windows系统的开发者来说,掌握WinCVS的使用方法仍然是非常必要的。 #### 二、简介 WinCVS是一款基于CVS(Concurrent Versions System)的图形界面...
### WinCVS深入浅出知识点总结 #### 一、前言 **WinCVS**是一款基于**Concurrent Version ...学习和掌握CVS的基本原理及使用方法,不仅有助于理解版本控制的核心概念,还能为使用其他版本控制系统打下坚实的基础。
**WinCVS软件及使用手册** WinCVS是一款基于Windows平台的CVS(Concurrent Versions System)客户端软件,它提供了一种用户...通过熟悉和掌握其使用方法,你可以充分利用这个工具,提升团队的开发效率和代码管理质量。
1. "MyEclipse使用.doc":这个文档可能包含了如何在MyEclipse这种流行的Java集成开发环境中集成和使用WinCVS的指南,可能涵盖了配置步骤、CVS资源库的连接方法以及在IDE内部进行版本控制操作的技巧。 2. "深入浅出...
根据给定文件的信息,我们可以提炼出以下几个关键...通过以上知识点的总结,我们可以了解到 WinCVS 的基本概念、安装配置流程以及获取支持和服务的方法。这将有助于用户更好地理解如何使用 WinCVS 进行版本管理和控制。
本教程提供了详细的WinCvs使用说明。第一章介绍了CVS的基本概念、WinCvs的工作方式和工作流程、创建Cvs库的方法、导入Module和Checkout的操作。第二章介绍了WinCvs常用的版本控制操作,例如同步(Update)、提交修改...