在Ubuntu下安装Bazaar

 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 <[email protected]>"
这时候如下信息写入配置文件~/.bazaar/bazaar.conf中
[DEFAULT]
email = Luffy <[email protected]>
可以输入查看当前用户信息
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 <[email protected]>
branch nick: bazaar_home
timestamp: Sun 2011-01-02 14:12:28 +0800
message:
  Added first line of w1.txt
------------------------------------------------------------
revno: 1
committer: Luffy <[email protected]>
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号版本
 

你可能感兴趣的:(ubuntu,职场,ubuntu,休闲,bzr)