歡迎您光臨本站 註冊首頁

linux 下svn 的日常使用

←手機掃碼閱讀     火星人 @ 2014-03-23 , reply:0

首先請在 linux 下裝上 subversion 包。對於 Debian,可以用sudo apt-get install subversion來做。其它發行版請在各自的包管理器中找一下。如果不想用文本界面的話,rapidsvn 是個不錯的選擇。完全圖形化的

接下來就類似於我寫的 TortoiseSVN 了。

先用 svn checkout -N https://https://i18n-zh.googlecode.com/svn/trunk/

這將在當前目錄下生成一個名叫「 trunk 」 的目錄。且 -N 選項的使用就是告訴 svn 只取出頂層文件,不取目錄。這樣,我們就取得了一個正常的,可以本地操作的工作目錄(working copy)了。如果你有上面伺服器的 svn 上傳權的話,請在此時輸入密碼和用戶名。如果沒有的話,請把上面地址中的 https 改成 http 。上傳帳號的申請,可以看這裡的說明。

接下來,進入那個」 trunk 「目錄。並建立文件操作一下。
cd trunk
mkdir test # 新建一個 test 目錄
vi test.txt
隨便寫點東西

以上全部做完以後,退回 trunk 目錄,用 svn stat * 看一下。你會發現剛才新建的東西前面都有一個 」?「。這表明,這些文件還未受到 svn 的版本控制。所以你需要加上它們,用命令

svn add *

現在你應該看到輸出了,所有文件前面全都有了一個 「A」,代表是新增文件。

最後,上傳吧。在 trunk 目錄下,用 svn commit 命令。它會自動找出要上傳的文件的。上傳前,會啟動你的編輯器,要求你寫上點東西,也就是更新說明。最好寫上,否則會出現 a)bort c)ontinue 這樣的東西。當然你可以選 continue,但這樣伺服器上的記錄中對這一次的操作沒有什麼說明,以後想 checkout 此版本時你會不知道此版本做了哪些更改。

好了。就這麼多內容。呵呵,比 win 下的 tortoisesvn 看上去簡單一點。還有一點,上面有些命令是有縮寫的。比如,可以把 svn checkout 寫成 svn co,把 svn commit 寫成 svn ci 等等。裝上 svn 后可以用 svn help 來看看。應該說 svn 的 help 寫得非常不錯的。簡單實用!我就是看了它學會 svn 的操作的。

範例這是我的一次操作
cd myworkplace
svn co $repo/fetchmail fetchmail-6.3.8 #取出 fetchmail 並重命名為帶上版本號的 fetchmail
edit&save fetchmail-6.3.8/fetchmail-6.3.8.zh_CN.po

mkdir latrin # 新建 latrin
mv ~/Desktop/latrin-0.10.0.pot latrin/ #將下載到的 pot 放到 latrin 下
cd latrin/
msginit -l zh_CN.utf8 # 生成一個 utf8 編碼的 zh_CN.po,準備翻譯
mv zh_CN latrin-0.10.0.zh_CN.po # 重命名。方便以後用 sendpo.sh 上傳給 tp-robot
edit&save latrin-0.10.0.zh_CN.po # 幹活

cd .. # 退回 myworkplace
svn add * # 加上剛才新建的所有東西
svn ci # 提交今天所做的全部修改

日常使用,基本只要會 co 和 ci 就可以了。 上面有段命令是新建一個工程時,一直要做的。命令很多,但每次都很有規律,所以嘛,呵呵。我寫成了腳本

#!/bin/bash
# filename: genpo.sh
echo -n 「Enter a directory name: 」
read d_name
mkdir ${d_name}
mv $1.pot ${d_name}
cd ${d_name}
msginit -l zh_CN.utf8
mv zh_CN.po $1.zh_CN.po
cd ..
svn add ${d_name}
vi ${d_name}/$1.zh_CN.po

這樣,以後把下載到的 pot 放在 myworkplace 目錄下。然後用 genpo.sh 文件名-版本號 不要帶後綴 .pot。編輯好以後,直接 svn ci 就 OK 了。

[火星人 ] linux 下svn 的日常使用已經有480次圍觀

http://coctec.com/docs/linux/show-post-114641.html