Tuesday, July 29, 2008

How to use Subversion

如果os是linux base的話。只有一些instruction要背。

$svn import
$svn list
$svn checkout
$svn commit
$svn update
$svn add
$svn rm


首先自已寫的project如果想要上傳到svn自已的repository中的話,要先用svn import這個指令把project import到svn自已的repository中。假設repository是waynec,local端project資料夾是GATE_0803,指令為:

$svn import GATE_0803 svn://url/svnroot/waynec/GATE_0803

如果想要知道是否成功,可以用svn list這個指令。

$svn list svn://url/svnroot/waynec

接下來,要做的事情是取得svn server上project的working copy,working copy是一份從資料庫裡check out出來的檔案,這份檔案除了含有原本的內容之外,svn會另外增加.svn資料夾,裡面存放著每個檔案的版本資訊等資料,所以我們要有working copy才能夠跟資料庫做同步的動作。

$svn checkout svn://url/svnroot/waynec/GATE_0803

以上指令就會把svn server的project GATE_0803,copy一份到自已電腦上並且與svn server做同步。如果用ls -a指令看的話,會發現GATE_0803下面的每一個資料夾,都多了一個.svn的資料夾,這是svn加上去做控制的資訊。

之後在此資料夾下做某些檔案的修改之後想要到一個段落,可以用svn commit去更新server的project。

$svn commit

如果project很多人一起修改,在進行編輯前,先使用svn update指令去確定目前自已project資料夾與server上是一樣版本。

$svn update

因為svn會透過.svn這個資料夾來紀錄檔案的版本資訊,因此任何不在.svn裡面有紀錄的檔案,svn都無法進行版本控制,所以,當我們新增一個不在repository裡面的檔案的時候,我們必須要用svn add來把把資訊放到.svn裡面。

$svn add C.txt

這樣之後才能使用svn commit去更新svn server也新增此檔案。一樣如果要刪除某檔案,也要先通知自已資料夾的.svn。之後再svn commit通知server也刪除此檔案。

$svn rm C.txt

另外,如果只是想copy一份project下來,並不想與svn server做同步,可以用svn export。

$svn export svn://url/svnroot/waynec/GATE_0803

HEMiDEMi Technorati Del.icio.us MyShare個人書籤 Yahoo

0 意見: