在Ubuntu下安装Bazaar
2019獨角獸企業重金招聘Python工程師標準>>>
?Bazaar是一款開源的分布式版本控制工具。分布式版本控制(Distributed Version Control System)是一種不需要中心服務器管理文件版本的方法,它也可以使用中心服務器。對版本的更改可以合并到使用分布式版本控制系統的其他用戶的版本里,實現靈活的控制。另外,它大多數操作在客戶機本地進行,不需要網絡連接,因此比集中式服務器操作起來快得多。主流的分布式版本控制工具有Git, Bazaar, Mercurial等。集中式版本控制工具有SVN, CVS, VSS等。
?? ?Bazaar簡稱Bzr, 是完全用Python開發,因此需要Python支持。下載鏈接?wiki.bazaar.canonical.com/Download
1. 更改更新源
試過很多更新源,網易的速度和穩定性非常不錯。
首先備份更新源表:
sudo cp /etc/apt/sources.list /etc/apt/sources.list_backup
然后打開編輯
sudo vim /etc/apt/sources.list
添加如下行,將其他注釋掉
deb http://mirrors.163.com/ubuntu/ natty main universe restricted multiverse
deb-src http://mirrors.163.com/ubuntu/ natty main universe restricted multiverse
deb http://mirrors.163.com/ubuntu/ natty-security universe main multiverse restricted
deb-src http://mirrors.163.com/ubuntu/ natty-security universe main multiverse restricted
deb http://mirrors.163.com/ubuntu/ natty-updates universe main multiverse restricted
deb http://mirrors.163.com/ubuntu/ natty-proposed universe main multiverse restricted
deb-src http://mirrors.163.com/ubuntu/ natty-proposed universe main multiverse restricted
deb http://mirrors.163.com/ubuntu/ natty-backports universe main multiverse restricted
deb-src http://mirrors.163.com/ubuntu/ natty-backports universe main multiverse restricted
deb-src http://mirrors.163.com/ubuntu/ natty-updates universe main multiverse restricted
然后運行刷新列表(一定要刷新)
sudo apt-get update
2.檢查需要的軟件包
(1). 檢查Python版本
SHELL>python -v
...Python 2.6.6...
(2). 檢查需要的Python模塊
SHELL>python -c "import Crypto" #沒有提示任何信息,則該模塊被成功加載
SHELL>python -c "import paramiko" #提示找不到
SHELL>python -c "import cElementTree" #提示找不到
SHELL>python -c "import xml.etree.cElementTree"?#該模塊被成功加載
paramiko是一個實現SSH2協議安全(認證和加密)連接到遠程計算機的開源模塊,在http://www.python.org/pypi/paramiko下載。
cElementTree模塊是ElementTree API的C實現。ElementTree是Python的XML庫。下載鏈接effbot.org/downloads/#celementtree。
下載并解壓后進入目錄下,執行python安裝腳本
SHELL>python setup.py install
#如果提示python.h找不到導致gcc不能編譯,說明python-dev沒有安裝。
在Ubuntu10.10下以此安裝如下包:
libssl0.9.8_0.9.8o-4_i386.deb?
http://linux.cdpa.nsysu.edu.tw/debian/pool/main/o/openssl/libssl0.9.8_0.9.8o-4_i386.deb
libssl-dev_0.9.8o-4_i386.deb
?? ?http://ftp.debian.org/debian/pool/main/o/openssl/libssl-dev_0.9.8o-4_i386.deb
python2.6-dev_2.6.6-5ubuntu1_i386.deb
?? ?http://ftp.isu.edu.tw/pub/Linux/Ubuntu/ubuntu/pool/main/p/python2.6/libpython2.6_2.6.6-5ubuntu1_i386.deb
后再次執行
SHELL>sudo python setup.py install
編譯并安裝成功。
(3). 檢查SSH工具是否安裝。(通過Launchpad.net發布時需要SSH連接支持)
SHELL>which ssh
SHELL>sudo apt-get install openssh-client
3. 安裝bazaar
SHELL>sudo apt-get install bzr
等待安裝結束
4. 基本使用
(1). 注冊用戶信息
SHELL>bzr whoami "Luffy <xiaoluffy@gmail.com>"
這時候如下信息寫入配置文件~/.bazaar/bazaar.conf中
[DEFAULT]
email = Luffy <xiaoluffy@gmail.com>
可以輸入查看當前用戶信息
SHELL>bzr whoami
(2).測試bazaar
SHELL>mkdir bazaar_home
SHELL>cd bazaar_home
SHELL>mkdir dir_test #建立測試文件夾
SHELL>touch w1.txt w2.txt dir_test/w3.txt #生成幾個測試文件
SHELL>bzr init #初始化項目
SHELL>bzr add #將當前的文件夾的文件添加到項目中
SHELL>bzr commit -m "initial import" #提交項目到項目聞之中,添加一些注釋。
#不用不加-m "comment" 則會出現一個編輯器來進行添加
然后使用vi編輯更改w1.txt的內容,比如添加this is someting added!這句話
SHELL>bzr diff #查看項目發生變化
=== modified file 'w1.txt'
--- w1.txt 2011-01-02 06:09:21 +0000
+++ w1.txt 2011-01-02 06:11:04 +0000
@@ -0,0 +1,1 @@
+this is someting added!
#可以再次提交
SHELL>bzr commit -m "Added first line of w1.txt"
Committing to: /home/luffy/Documents/bazaar_home/ ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ??
modified w1.txt
Committed revision 2.
(3).查看版本日志
SHELL>bzr log
------------------------------------------------------------
revno: 2
committer: Luffy <xiaoluffy@gmail.com>
branch nick: bazaar_home
timestamp: Sun 2011-01-02 14:12:28 +0800
message:
??Added first line of w1.txt
------------------------------------------------------------
revno: 1
committer: Luffy <xiaoluffy@gmail.com>
branch nick: bazaar_home
timestamp: Sun 2011-01-02 14:09:21 +0800
message:
??first committed
(4). 查詢歷史版本
SHELL>bzr log -r 1 #查詢1號版本
SHELL>bzr log -r 1.. #查詢1號到最新的版本
SHELL>bzr log -r ..4 #查詢最早的到現在的版本
SHELL>bzr log -r 1..4 #查詢1號到4號版本
查看某個文件的在哪個版本更改過
SHELL>bzr log filename
(5). 訪問歷史
SHELL>bzr cat -r X file > file_in_Ver_x
(6). 管理文件
SHELL>bzr add [文件名或目錄名]
SHELL>bzr remove -v [文件名或目錄名]
SHELL>bzr status #查詢最近更改的狀態
(7). 回滾到上次提交時的所有操作
SHELL>bzr revert
SHELL>bzr revert foo.py
(8).回滾一次commit
SHELL>bzr uncommit
SHELL>bzr uncommit -r -3 #回滾到3號版本
轉載于:https://my.oschina.net/mingdegewu/blog/188046
總結
以上是生活随笔為你收集整理的在Ubuntu下安装Bazaar的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Codeforces Round #22
- 下一篇: Mysql中使用命令行导入.sql文件新