|
3#
楼主 |
发表于 2004-9-21 22:40:48
|
只看该作者
11、删除文件和目录
要删除文件,你首先要确定删除的时间,然后提交更改。
1) 选择你要删除的文件
2) 选择Modify->Remove selection 菜单
3) 文件只是被标记为删除,你还要通过提交将其从库中删除。如果你
不知道如何提交,参见向CVS 提交你的修改。
文件就会从库中被删除了。注意文件没有物理上删除,只是被标记为“消
亡”。在这种方式下,如果你选择检出模块的老的修订版,仍可能恢复出删
除的文件。
删除目录时另外一个话题。当你更新一个目录的父目录时,CVS 会删除空
的目录。如果你想删除一个空目录,操作如下:
1) 选择你要删除的空目录的父目录
2) 点击鼠标右键,选择Update selection 更新菜单
3) 选择Globals 框
4) 确定Prune (remove) empty directories 被选中(这是缺省项)
5) 点击OK 按钮。
如果一个目录中文件先前已被从本地和库中删除,这个空目录就会被删除。
[ CVS 文档: "增加,删除,改名文件和目录" ]
12、对文件和目录移动或改名
对文件和目录移动或改名的操作在CVS 中是不允许的。这是CVS 的一个不
足之处。你需要合并删除和增加操作来模拟移动或改名。参见增加文件和
目录以及删除文件和目录。
译者注:
在实际操作中,用户可以直接到CVS 服务器上,在库目录下,直接对相应的
文件作移动和改名操作。新文件名要符合CVS 库文件的命名规则。一般情
况下,不建议用户直接到CVS 服务器上直接修改。修改时,注意文件的属
主和存取权限。
[ CVS 文档: "移动或改名文件" ]
13、分支
版本控制系统的一个特性是,能够将修改隔离到一个分离的开发线上。这
条线称为分支(参见CVS 文档中的What branches are good for什么分支是有益
的),通过下面的步骤,创建一个分支
1) 选择你要分支的目录或文件
2) 选择Modify->Create a branch
3) 在New branch name 新分支名输入框内,输入你要求的分支的标记
名。参见对文件进行标记标签,了解标签中的合法字符
4) 选中Check that the files are unmodified before branching
5) 点击OK 按钮。
现在在库中就按照指定的名字创建了一个新的分支。分支只是在库中创建
了。要在新创建的分支上工作,你还要按照选择一个分支工作一节中的说
明去做一些工作。
[ CVS 文档: "分支和合并" ]
14、选择一个分支工作
要在一个分支上而不是在缺省的开发线上工作,你要将你本地的拷贝接到
分支上。这需要确信一些操作如更新、提交等等是在分支上而不是在开发
的主线上。
将本地拷贝转移到另外分支上,操作如下:
1) 选择工程的顶级目录(如果你准确的知道分支内的目录和文件,也
可以分别选择)
2) 在选择上点击鼠标右键,选择Update selection 更新菜单
3) 确信Create missing directories that exist in the repository
被选中。
4) 选择Sticky options 粘着项框
5) 选中Retrieve rev./tag/branch
6) 在Retrieve rev./tag/branch 输入框,输入你要切换到的分支标
签名
7) 点击OK 按钮。
WinCvs 就会作需要的更新,更新你工作着的拷贝并转移到预期分支上。更
新操作将增加或删除文件。
CVS 对分支的文件标记了粘着标签。你可以通过对文件执行状态命令,查看
这些粘着标签。参见查看修改。要删除粘着标签,返回到开发主线上,执
行返回开发主线一节描述的步骤。
[ CVS 文档: "访问分支" ]
15、从分支中合并
当你对你在分支上作的修改很满意时,你也许想开发主线也能获得这些修
改。将一个分支上的修改合并到另一个分支上,被称为合并。要合并一个
分支,要执行:
1) 将本地拷贝移到你要将修改合并到的分支上。参见选择一个分支工
作或返回开发主线
2) 选择工程的顶级目录(如果你准确的知道分支内的目录和文件,也
可以分别选择)
3) 在选择上点击鼠标右键,选择Update selection 更新菜单
4) 确信Create missing directories that exist in the repository
被选中。
5) 选择Merge options 合并框
6) 选中Only this rev./tag
7) 在Only this rev./tag 输入框内,输入你要合并的分支标签名
8) 点击OK 按钮。
这个分支上的任何修改就会合并到你的本地拷贝中。你可能还想将合并后
的文件提交回库中,参见向CVS 提交你的修改
重要提示:上面提到的合并将合并从分支起始的修改。如果你是第二次操
作(在最后合并又作合并),从分支开始的合并并不是你所期望的,多半会
让你陷入困境。为了避免这个问题,你应当在每次合并后,为分支指定新
的标签,为后来的合并命名分支时要使用新的标签。
[ CVS 文档: "合并整个分支" ]
16、返回开发主线
如果你想停止分支上的工作,将本地拷贝转回到开发主线上,你要通过
WinCvs 删除所有的粘着标签。要删除粘着标签更新本地拷贝,回到开发主
线等,执行下面的操作:
1) 选择工程的顶级目录(如果你准确的知道分支内的目录和文件,也
可以分别选择)
2) 在选择上点击鼠标右键,选择Update selection 更新菜单
3) 确信Create missing directories that exist in the repository
被选中。
4) 选中Reset any sticky date/tag/'-k' options
5) 点击OK 按钮。
WinCvs 就会更新你的本地拷贝,以使符合当前的开发主线。曾经工作的分
支仍然存在库中。无论何时你都可以返回到这个分支上,参见选择一个分
支工作
[ CVS 文档: "粘着标签" ]
17、谁在编辑文件
查询CVS 谁在编辑一个文件,是可以的,但是只有开发人员通知CVS 他们
打算要编辑一个文件时才可以。这种方式被称为IR CVS 方式,而且如果要
使用这种方式,就要在工程开始时就决定好。
要使用IR CVS 方式,开发人员要以只读方式检出模块。可以在每个WinCvs
对话框的Gloabals 框中选中Checkout read-only 做到这点。
要编辑一个文件,执行下面的步骤
1) 选中你要编辑的文件
2) 选择Trace-> Edit selection 菜单,只读标记就会被删除,并且CVS
服务器会登记你是指定文件的编辑者
3) 编辑文件
4) 按照向CVS 提交你的修改的说明提交文件。
当你提交文件后,CVS 服务器就假定你不再编辑它了,WinCvs 又将文件标
记为只读。如果你不作任何修改,提交不会通知CVS 服务器你已完成了编
辑。这种情况下,你要执行下面的操作
1) 选中你标记为编辑的文件
2) 选择Trace-> Unedit selection 菜单,
现在,回到原来的问题:“谁在编辑文件”。要列出一个文件的编辑者,执
行:
1) 选中你关注的文件
2) 选择Trace-> Editors of selection 菜单,
WinCvs 就会列出文件的编辑者
[ CVS 文档: "多位开发人员" ]
18、附录A: 常见问题及解答
1) 在更新时,难以理解的字母的含义是什么?
参见CVS 手册中的update output更新输出
2) 服务器的时钟错了,标签和日志显示错误的时间
这是个特性,CVS 总是使用UTC 时间 |
|