本文,即關於在IBM WebSphere Studio Application Developer中進行小組開發的系列文章的第三篇,重點講解如何在Red Hat Linux 7上安裝CVS並將其配置為SCM資源庫。WebSphere Studio Application Developer(以下稱為Application Developer)可以與CVS這種主流的開放源代碼的、網絡透明的版本控制系統一起無縫地共同工作。CVS在大多數平台上都可以運行,包括Windows、Linux、AIX和UNIX。將它與Application Developer一起安裝在Red Hat Linux上有下列幾點好處:
然而,安裝和配置CVS for Linux並非無足輕重,並且相關的好文檔極少。下面的一步一步的指導應該能夠幫助系統管理員為使用Application Developer的開發者配置CVS for Linux。
在Red Hat Linux 7上安裝CVS
CVS版本1.11.1.3可能已經缺省安裝在您的Red Hat Linux 7上了。要檢查是否已安裝了CVS,請輸入命令rpm -qa|grep 'cvs'。如果返回的是cvs-1.11.1-3,就意味著已經安裝了CVS。
如果這條命令沒返回任何內容,您就需要安裝CVS。CVS rpm通常位於Red Hat Linux 7分發版的安裝CD #2上的RedHat/RPMS目錄中。將該CD安裝到/mnt/cdrom後,使用rpm命令安裝CVS:
rpm -i /mnt/cdrom/RedHat/RPMS/cvs-1.11.1p1-3.i386rpm
建立CVS用戶帳戶和組
1. 以root用戶的身份登錄。
2. 創建一個名為cvs的用戶,讓這個用戶使用cvs作為他的主組。
3. 創建將在Application Developer中使用cvs的用戶。本文使用cvsdev1和cvsdev2。
4. 使用cvs的開發者可以使用他們的私有組作為他們的主組。例如,cvsdev1的主組是cvsdev1,但要確保他們還屬於cvs組。
建立文件夾和資源庫
1. 以用戶cvs的身份登錄。
2. 在cvs自己的主目錄(即/home/cvs/)下創建一個名為repository的目錄。
3. 設置目錄/home/cvs/repository的訪問級別和訪問模式:chmod 770 /home/cvs/repository
4. 設置目錄/home/cvs/repository的setgid位:chmod g+s /home/cvs/repository
說明:在一個目錄中創建文件時,該文件缺省情況下屬於其所有者的主組。設置了目錄的setgid位後,新文件將與該目錄屬於相同的組,而不屬於其所有者的主組。例如,如果用戶cvsdev1在目錄/home/cvs/repository中創建了一些文件,則這些文件將屬於cvs組而不是它的主組cvsdev1。
這一步至關重要,因為它使CVS用戶能夠檢出其他用戶創建的文件。如果這一步沒完成,那麼當您檢出另一個用戶創建的文件時,操作將失敗,並發出下面這條消息:
Failed to create lock directory for /home/cvs/repository/...: Permission denied.
Failed to obtain dir lock in repository /home/cvs/repository/...
5. 初始化資源庫:
cvs -d /home/cvs/repository init
6. 注銷用戶cvs。
修改xinetd服務以啟用pserver協議
1. 以root用戶的身份登錄。
2. 在目錄/etc/xinetd.d中創建一個名為cvspserver的文件,文件內容如下:
# default: off
# description: An cvs server.
service cvspserver
{
disable = no
socket_type = stream
protocol = tcp
user = root
wait = no
server = /usr/bin/cvs
server_args = -f --allow-root=/home/cvs/repository pserver
log_on_success +=USERID
log_on_failure += USERID
}
3. 打開/etc/services並核實存在下面這兩行代碼。如果不存在,則添加它們:
cvspserver 2401/tcp # CVS client/server operations
cvspserver 2401/udp # CVS client/server operations
4. 重新啟動xinetd服務:
service xinetd restart
建立用戶環境
1. 打開文件/etc/profile。您應該能在該文件中看到下面這些行:
USER='id -un'
LOGNAME=$USER
MAIL="/var/spool/mail/$USER"
2. 在環境變量MAIL後添加一行內容:
CVSROOT=":pserver:$USER@localhost:/home/cvs/repository"
3. 在該文件中,您還應該看到這樣一行:
export PATH USER LOGNAME MAIL HOSTNAME HISTSIZE INPUTRC
4. 修改這一行並將CVSROOT添加到導出(export)列表中,如下所示:
export PATH USER LOGNAME MAIL HOSTNAME HISTSIZE INPUTRC CVSROOT
用本地用戶測試安裝
1. Developer 1以cvsdev1的身份登錄。
2. 通過輸入下面的命令來確保環境變量是正確的:
echo $CVSROOT
它應該返回與用戶名有關的象下面這樣的結果:
:pserver:cvsdev1@localhost:/home/cvs/repository
3. 用下面的命令登錄CVS:
cvs login
您將被提示提供密碼。輸入您的Linux密碼。
4. 創建一個名為project1的目錄:
mkdir project1
5. 在目錄project1中創建一個名為Test.java的文件,文件內容如下:
public class Test{
public String sayHello(String name){
return "Hello"+name;
}
}
6. 使用這些命令將Test.java導入到CVS資源庫中的模塊project1:
cd /home/cvsdev1/project1
cvs import -m "import Test.java" project1 wsadgroup release1_0
CVS導入操作完成後,您應該會看到一條這樣的消息:
N project1/Test.java
No conflicts created by this import
7. 備份您的源代碼:
cd
mv project1 project1.sav
8.從CVS資源庫檢出project1:
cd
cvs checkout project1
您應該會看到在/home/cvsdev1下創建了一個名為project1的新目錄,該目錄下有一個文件Test.java和一個目錄CVS。
9.Developer 2以cvsdev2的身份登錄。
10. cvsdev2登錄CVS:
cvs login
11. cvsdev2從CVS檢出project1:
cvs checkout project1
您應該會看到這樣一條來自CVS的消息:
cvs server:Updating project1
U project1/Test.java
12. 向Test.java(位於目錄project1中)添加一個新方法:
public String sayBye(String name){
return "Bye, " + name;
}
13. 把Test.java檢入到資源庫中:
cvs commit -m "checkin Test.java" Test.java
您應該會看到這樣一條來自CVS的消息:
Checking in Test.java;
/home/cvs/repository/project1/Test.java, v <-- Test.java
new revision: 1.2; previous revision: 1.1
done
用戶cvsdev1用下面這些命令捕獲cvsdev2所做的更改:
cd /home/cvsdev1/project1
cvs update Test.java
您應該會看到這樣一條來自CVS的消息:
U Test.java
您可以用編輯器打開Test.java來查看cvsdev2所做的更新。
上一頁12下一頁查看全文 內容導航