Ubuntu10.10下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/ maverick main restricted universe multiverse
deb http://mirrors.163.com/ubuntu/ maverick-security main restricted universe multiverse
deb http://mirrors.163.com/ubuntu/ maverick-updates main restricted universe multiverse
deb http://mirrors.163.com/ubuntu/ maverick-proposed main restricted universe multiverse
deb http://mirrors.163.com/ubuntu/ maverick-backports main restricted universe multiverse
deb-src http://mirrors.163.com/ubuntu/ maverick main restricted universe multiverse
deb-src http://mirrors.163.com/ubuntu/ maverick-security main restricted universe multiverse
deb-src http://mirrors.163.com/ubuntu/ maverick-updates main restricted universe multiverse
deb-src http://mirrors.163.com/ubuntu/ maverick-proposed main restricted universe multiverse
deb-src http://mirrors.163.com/ubuntu/ maverick-backports main restricted universe multiverse 
然后运行刷新列表(一定要刷新)
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.txt2011-01-02 06:09:21 +0000
+++ w1.txt2011-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号版本

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值