青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品

posts - 297,  comments - 15,  trackbacks - 0
CVS的常 用命令速查 手冊
本文出自:http://www.linuxforum.net 作者:車東 chedong@bigfoot.com

CVS環境初始 化:CVS環 境的搭建
CVS的 日常使用:日常開發中最常用的CVS命令
CVS的分支開發:項目按照不同進度和目標并發進行
CVS的用戶認證:通過SSH的遠程用戶認證,安全,簡單
CVSWEB:CVS的WEB 訪問界面大大提高比較代碼修改的效率
CVS TAG:將$Id$加入代碼注釋中,方便開發過程的跟蹤

CVS環境初始化
===========

環境設置:
tcsh
setenv CVSROOT /path/to/cvsroot
bash
CVSROOT=/path/to/cvsroot ; export CVSROOT

初始化:
cvs init

項目首次導入
cvs import -m "write some comments here" project_name vender_tag r_tag

項目導出:將代碼從CVS庫里導出
cvs checkout project_name

CVS的日常使用
=============

確 認修改:確認自己的修改并寫入到CVS庫里
cvs commit -m "write some comments here" file_name

注 意:CVS的 很多動作都是通過cvs commit進行最后確認并修改的,在確認的前,還需
要用戶填寫修改注釋,以幫助其他開發人員了解修改的原因。如果不用寫-m "comments"
而直接確認`cvs commit file_name` 的話,cvs會自動調用系統缺省的文字編輯器(一
般是 vi)要求你寫入注釋。
注釋的質量很重要:所以不僅必須要寫,而且必須寫一些比較有意義的內容:以方便其
他開發人員能夠很好的理解
不好的注釋,很難讓其他的開發人員快速的理解:比如: -m "bug fixed" 甚至 -m ""
好的注釋,甚至可以用中 文: -m "在用戶注冊過程中加入了Email地址校驗"

同步最近修改:開始工作前和將自己的工作導入到CVS庫里前都要 做一次:先同步 后修改
cvs update -m "write some comments here" file_name

注 意:不要使用項目首次導出后,以后就要用cvs update在導出的項目目錄下進行同步了,
而不是每次重新cvs checkout來同步文件了。如果導出后修改了文件,然后再次從導出的
項目目錄的上一級cvs checkout proj等于是刪除了proj目錄然后重新導出,上次導出后
的修改就全丟了。

修改某個版本注釋:每次 只確認一個文件到CVS庫 里是一個很好的習慣,但難免有時候忘
了指定文件名,把多個文件以同樣注釋commit到CVS庫里了,以下命令可以允許你修改某
個文件某個版本 的注釋:
cvs admin -m 1.3:"write some comments here" file_name

刪除文件:文件刪除后,比 如:rm file_name
cvs rm file_name
cvs ci -m "write some comments here"

注意:很多cvs命令都有縮寫形式:commit=>ci update=>up checkout=>co remove=>rm

添加文件 文件添加后,比如:touch new_file
cvs add new_file
cvs ci -m "write some comments here"

添加目錄:
cvs add dir_name

查看修改歷史:cvs log file_name
cvs history file_name

查 看當前文件不同版本的區別
cvs diff -r1.3 -r1.5 file_name
查看當前文件(可能已經修改了)和庫中相應 文件的區別
cvs diff file_name

更方便的定位文件修改和比較版本區別的辦法請看后面的cvsweb使用

正確的通過CVS恢復舊版本的方法:
如果用cvs update -r1.2 file.name
這 個命令是給 file.name加一個STICK TAG: "1.2" ,雖然你的本意只是想將它恢復
到1.2版本
正確的恢復版本的方法是:cvs update -p -r1.2 file_name >file_name
如果不小心已經加成STICK TAG的話:用cvs update -A 解決

刪除,移動目錄:
最方便的方法是直接移動,刪除CVSROOT里相應目錄:CVS所有項目都 是按目錄獨立的:
好比一顆樹,其實砍下任意一枝都能獨立存活,對目錄修改后,要求其開發人員
cvs checkout project_name 或者 cvs update -dP同步

CVS Branch:多分支同步開發
=========================

確認版本里程碑:多個文件各自版本號不一樣,項目到一定階段,可以給所有文件統一
指定一個階段里程碑版本號,方便以后按照 這個階段里程碑版本號導出項目,同時也是
項目的多個分支開發的基礎。
cvs tag release_1_0

在 開發proj的2.0版本的時候發現1.0有問題,但2.0又不敢用,則從release_1_0標記出
一個分支 release_1_0_patch
cvs rtag -b -r release_1_0 release_1_0_patch proj

一些人先在另外一個目錄下導出這個分支:解決1.0中的緊急問題,而其他人員2.0仍舊
在項目的主干上開發
cvs checkout -r release_1_0_patch

在release_1_0_patch上修正錯誤后,標記一個1.0的 錯誤修正版本號
cvs tag release_1_0_patch_1

如果2.0認為這些錯誤修改在2.0里也需要,就在 2.0的開發目錄下合并
release_1_0_patch_1中的修改到當前代碼中:
cvs update -j release_1_0_patch_1

CVS的遠程認證:通過SSH遠程訪問CVS
================================

使用cvs本身的遠程認證很麻煩,需要定義服務器和用戶名密碼等,而且不安全,因此
和系統本地帳號結合并通過SSH進行認證 是比較好的辦法,通過在profile里設置一
下內容:
CVSROOT=:ext:$USER@test.server.address#port:/path/to/cvsroot CVS_RSH=ssh; export CVSROOT CVS_RSH
所有用戶都可以獲得CVS服務器的

如果CVS所在服務器 的SSH端口不在缺省的22,或者和客戶端與服務器端SSH缺省端口
不一致,則創建一個ssh_cvs腳本,有時候設置了:
:ext:$USER@test.server.address#port:/path/to/cvsroot 仍然不行,比如有以下錯誤信息:
ssh: 133.133.33.33#3333: Name or service not known
cvs [checkout aborted]: end of file from server (consult above messages if any)

解決的方法是做一個標本指定端口轉向(不能使用alias,會出找不到文件錯誤):
more ssh_cvs
#!/usr/bin/sh
ssh -p 34567 $*
然后:chmod +x /usr/bin/ssh_cvs
CVS_RSH=ssh_cvs; export CVS_RSH

CVSWEB:提高程序員比較文件的效率
===============================

CVSWEB 就是CVS的 WEB界面,可以大大提高程序員定位修改的效率:
使用的樣例可以看:http://www.freebsd.org/cgi /cvsweb.cgi

CVSWEB的下載:CVSWEB從最初的版本已經演化出很多功能界面更豐富的版本,這個是我覺
得 安裝設置比較方便的:
http://www.spaghetti-code.de/software/linux/cvsweb/

tar zxf cvsweb.tgz
修改:cvsweb.cgi
$config = $ENV{'CVSWEB_CONFIG'} || 'cvsweb.conf';

修改:cvsweb.conf
%CVSROOT = (
'Development' => '/path/to/cvsroot',
);
"hideattic" => "1",

CVSWEB 可不能隨便開放給所有用戶,因此需要使用WEB用戶認證:
先生成 passwd:
/path/to/apache/bin/htpasswd -c cvsweb.passwd user

修改httpd.conf: 增加
<Directory "/path/to/apache/cgi-bin/cvsweb/">
AuthName "CVS Authorization"
AuthType Basic
AuthUserFile /path/to/cvsweb.passwd
require valid-user
</Directory>

CVS TAGS: 最后是誰,什么時間修改了文件
=====================================

將$Id$ 加在程序文件開頭的注釋里是一個很好的習慣,cvs能夠自動更新其中的內容成:
file_name version time user_name 的格式,比如:
cvs_card.txt,v 1.1 2002/04/05 04:24:12 chedong Exp,可以這些信息了解文件的
最后修改人和修改時間

幾個常用的缺省文件:
default.php
<?php
/*
* Copyright (c) 2002 Company Name.
* $Id$
*/

?>

Default.java: 注意文件頭一般注釋用 /* 開始 JAVADOC注釋用 /** 開始的區別
/*
* Copyright (c) 2002 Company Name.
* $Id$
*/

package com.netease;

import java.io;

/**
* comments here
*/
public class Default {
/**
*
* @param
* @return
*/
public toString() {

}
}

default.pl:
# Copyright (c) 2002 Company Name.
# $Id$

# file comments here

#!/usr/bin/perl -w
use strict;



相關資源:

CVS HOME:
http://www.cvshome.org

CVS FAQ:
http://www.loria.fr/~molli/cvs-index.html

相關網站:
http://directory.google.com/Top/Computers/Software/
Configuration_Management/Tools/Concurrent_Versions_System/

CVS 免費書:
http://cvsbook.red-bean.com/
CVS 速查卡片:
http://www.refcards.com/about/cvs.html
posted on 2010-06-08 16:57 chatler 閱讀(607) 評論(0)  編輯 收藏 引用 所屬分類: cvs

只有注冊用戶登錄后才能發表評論。
網站導航: 博客園   IT新聞   BlogJava   博問   Chat2DB   管理


<2025年11月>
2627282930311
2345678
9101112131415
16171819202122
23242526272829
30123456

常用鏈接

留言簿(10)

隨筆分類(307)

隨筆檔案(297)

algorithm

Books_Free_Online

C++

database

Linux

Linux shell

linux socket

misce

  • cloudward
  • 感覺這個博客還是不錯,雖然做的東西和我不大相關,覺得看看還是有好處的

network

OSS

  • Google Android
  • Android is a software stack for mobile devices that includes an operating system, middleware and key applications. This early look at the Android SDK provides the tools and APIs necessary to begin developing applications on the Android platform using the Java programming language.
  • os161 file list

overall

搜索

  •  

最新評論

閱讀排行榜

評論排行榜

青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品
  • <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>
            欧美日韩亚洲一区在线观看| 国产精品日韩一区二区| 国产亚洲欧洲一区高清在线观看| 亚洲欧美在线播放| 亚洲免费中文字幕| 国产欧美欧洲在线观看| 久久久久国产成人精品亚洲午夜| 香蕉乱码成人久久天堂爱免费| 国产色产综合色产在线视频| 久久久久久9| 久久综合狠狠综合久久激情| 亚洲国产精品一区二区第一页| 亚洲高清视频一区| 欧美日韩亚洲一区二区三区在线观看 | 欧美一二三区在线观看| 亚洲欧美日韩一区在线观看| 国产一区999| 亚洲电影有码| 欧美三级在线播放| 久久久久久久97| 欧美精品久久久久久久| 亚洲欧美国产77777| 欧美一区二区免费| 亚洲美女电影在线| 午夜在线视频一区二区区别 | 蜜桃av综合| 亚洲专区一区二区三区| 欧美在线视频全部完| 最新日韩精品| 香蕉久久夜色精品国产使用方法| 伊人久久大香线| 日韩一区二区精品视频| 国产色综合网| 日韩视频三区| 国内免费精品永久在线视频| 91久久久久久国产精品| 国产一区二区0| 日韩一区二区免费看| 伊人久久男人天堂| 亚洲一区二区三区乱码aⅴ| 亚洲福利国产精品| 欧美一区=区| 亚洲视频在线观看一区| 久久综合999| 久久激情网站| 欧美午夜不卡在线观看免费 | 欧美激情视频在线免费观看 欧美视频免费一 | 久久一区二区三区av| 午夜一区二区三区不卡视频| 欧美二区在线| 久久琪琪电影院| 国产精品久久网站| 亚洲精品国产精品国自产在线| 黑丝一区二区| 欧美一区亚洲| 欧美在线视频一区二区| 国产精品极品美女粉嫩高清在线| 欧美激情一区二区三级高清视频| 国产综合久久| 欧美尤物巨大精品爽| 亚洲永久免费av| 欧美亚洲不卡| 一本色道久久综合亚洲精品小说 | 久久久久99| 国产精品夜色7777狼人| 亚洲视频一区二区免费在线观看| 亚洲精品资源| 欧美激情欧美狂野欧美精品| 亚洲第一黄色| 99天天综合性| 欧美日韩在线三级| 日韩亚洲欧美中文三级| 亚洲香蕉在线观看| 欧美午夜精品久久久久久孕妇 | 久久综合色播五月| 激情欧美一区| 免费试看一区| 亚洲日本va午夜在线电影| 99精品欧美一区| 欧美日韩在线亚洲一区蜜芽| 一本色道久久综合精品竹菊| 亚洲欧美日韩精品| 国产亚洲一级| 美女啪啪无遮挡免费久久网站| 亚洲国产99精品国自产| 一区二区三区欧美在线观看| 欧美体内she精视频| 亚洲欧美激情一区二区| 美女爽到呻吟久久久久| 亚洲精品乱码久久久久久蜜桃麻豆| 欧美电影在线观看完整版| 一本一道久久综合狠狠老精东影业| 亚洲欧美在线一区| 激情久久一区| 欧美日韩精品在线播放| 欧美一级视频免费在线观看| 欧美成年人视频网站| 亚洲最新合集| 国内精品国产成人| 欧美国产一区在线| 午夜在线播放视频欧美| 欧美激情视频一区二区三区在线播放| 亚洲无限乱码一二三四麻| 国产亚洲欧洲997久久综合| 欧美成人第一页| 亚洲欧美日韩成人| 亚洲第一黄网| 久久精品三级| 亚洲最黄网站| 极品尤物久久久av免费看| 欧美久久久久久久久久| 久久国产夜色精品鲁鲁99| 亚洲精品欧美日韩| 美腿丝袜亚洲色图| 亚洲综合精品自拍| 亚洲精品国产精品国产自| 国产精品爽爽ⅴa在线观看| 欧美成人情趣视频| 欧美一区二区三区电影在线观看| 亚洲欧洲一区二区在线观看| 久久一区激情| 午夜日韩av| 一区二区三区视频观看| 在线日韩中文字幕| 国产欧美日韩一区二区三区在线| 欧美成人精品| 久久综合一区二区| 欧美专区在线播放| 亚洲免费影视| 亚洲无玛一区| 日韩小视频在线观看专区| 欧美国产激情二区三区| 久久久久国产精品一区三寸| 先锋a资源在线看亚洲| 亚洲最新中文字幕| 亚洲麻豆av| 亚洲毛片av在线| 最近中文字幕日韩精品 | **网站欧美大片在线观看| 国产美女一区二区| 国产精品毛片高清在线完整版| 欧美日韩高清在线播放| 欧美激情黄色片| 欧美黄色一区| 欧美精品一区二区三区在线看午夜 | 性做久久久久久免费观看欧美| 一本久道久久综合婷婷鲸鱼| 亚洲伦理在线观看| 亚洲乱码国产乱码精品精98午夜| 亚洲激情网站| 日韩午夜一区| 亚洲最新色图| 亚洲一区二区三区涩| 亚洲男人的天堂在线aⅴ视频| 亚洲一区制服诱惑| 亚洲欧美电影院| 久久精品一区中文字幕| 久久久久九九九九| 免费永久网站黄欧美| 亚洲国产精品传媒在线观看 | 宅男噜噜噜66一区二区| 亚洲视频在线看| 亚洲欧美色一区| 久久精品日韩| 蜜桃av久久久亚洲精品| 欧美麻豆久久久久久中文| 国产精品jizz在线观看美国 | 欧美成人精品一区| 欧美日韩国产美女| 国产精品美女| 伊人精品成人久久综合软件| 亚洲国产一区二区三区青草影视 | 国产欧美一区二区精品秋霞影院| 国产一区二区欧美| 亚洲清纯自拍| 亚洲尤物视频网| 久久久亚洲精品一区二区三区| 免费毛片一区二区三区久久久| 亚洲国产精品一区二区第一页| 亚洲精品五月天| 欧美一区二区三区视频在线| 男人插女人欧美| 国产精品私人影院| 91久久精品美女| 亚洲欧美欧美一区二区三区| 久久综合精品国产一区二区三区| 亚洲国产片色| 欧美一区2区视频在线观看 | 亚洲欧美网站| 欧美成人蜜桃| 国产一区二区三区日韩| 99re热这里只有精品视频| 久久国产欧美精品| 日韩午夜在线视频| 久久久国产91| 国产精品资源| 在线综合欧美| 亚洲国产一区二区三区a毛片| 亚洲欧美日韩人成在线播放| 欧美人成在线|