本篇介绍Bazaar
我知道Bazaar是从livid那里看到的,他这篇介绍基本上就是翻译Bazaar官方的一个快速入门文档,强烈推荐参考一下。
Bazaar的优点在于功能强大并且安装使用很方便。因为是用Python写的,只要在安装了Python之后,再安装一下Bazaar就可以使用了。需要注意的是,它的SFTP功能使用了两个包: pycrypto和paramiko。这是需要额外安装一下的。刚好我安装Bazaar的时候两个包的官方网站都不太正常(难道是RPWT?),最后只好通过GOOGLE找到别的镜像才下载到。
Bazaar 的缺点是速度太慢。它的慢倒不是像云风所说的那样,对大项目太慢,而是因为它是纯python的程序,在windows下每次运行都要启动python环 境,所以每次输入命令都要等上一会儿才执行,对于像我这种经常用status命令检查的人或是那些用小步迭代的XP方式开发的人来说,比较难以忍受。
据 说也有一个类似TortoiseSVN的ToroiseBZR,但是鉴于我对TSVN的使用经验来说,Windows的Explorer已经很不稳定了, 再加这个东东就不稳定得受不了了。所以我还是不用Tortoise了,再说用惯了命令行操作在很多时候比用Tortoise还方便。
基本的使用方法参见前面链接的那篇livid翻译的快速入门吧。我这里只说一下远程Repository操作方面的问题。
把本地Repository的更新提交到远程Repository可以通过SFTP,这也就意味着服务端是免安装免配置的,这一点我觉得实在是太方便了。
bzr push sftp://jod@jod.example.com/public_html/foobar.joe/
如果要从远程Repository取得一个本地副本,理论上也可以通过SFTP:
bzr branch sftp://jod@jod.example.com/public_html/foobar.joe/
不 过试用下来我碰到一个问题,通过SFTP作push是没有问题,但是如上面的命令作checkout或branch操作时,却只会下载一个本地 Repository的副本(.bzr目录),不会生成工作目录和文件。即使再用update也不行,不知道是不是我RPWT,还是下来的这个.bzr本 身就有问题。但换成HTTP就可以了:
bzr branch http://jod.example.com/foobar.joe/
但 这样就麻烦一些,一个是安全性的问题,当然可以用HTTP-Auth加上身份验证,但毕竟没有SFTP安全;另一个是需要在服务端作Web Server配置,允许通过HTTP访问远程Repository;第三个问题是HTTP是只读的,这样上传和下载需要使用不同的URL。
Web Server端的配置倒不复杂,标准的WEB静态页面访问配置即可。例如(包含HTTP-Auth身份验证):
Alias /bzr /home/bzr
<Directory /home/bzr>
Options FollowSymLinks
AllowOverride FileInfo Indexes Limit
Order allow,deny
Allow from all
AuthType Basic
AuthName "Bazaar Repository Files"
AuthUserFile /home/svn/svn-auth-dev
Require valid-user
</Directory>
另外,可以使用.bzrignore文件从工作目录中忽略不需要加入管理的文件,参见这个介绍,这一点比以前用TortoiseSVN时要方便很多。用如下命令可以列出项目工作目录中被忽略掉的文件:
bzr ignored
还有,据云风说,Bazaar有一个巨大的优点就是智能重命名,避免了大量文件的remove/add操作,这的确是一个很大的优点,特别是对于大项目来说。
关于Bazaar的更多信息,参见这里。
(未完待续)
分享到:
相关推荐
#### 二、Mercurial:轻量级分布式版本控制的典范 Mercurial是一款基于Python语言构建的分布式版本控制系统,以其简洁高效的特点受到广大开发者的青睐。作为一款开源软件,Mercurial遵循GPL许可,其优势明显: - *...
### Git分布式版本控制系统权威指南知识点概述 #### 一、Git简介与安装配置 - **Git的概念**:Git是一款开源的分布式版本控制系统,用于追踪在软件开发过程中对文件的修改历史,方便多用户协同工作。 - **Git的...
### 分布式版本控制系统Git知识点总结 #### 一、版本控制系统概述 版本控制系统(Version Control System,简称VCS)是一种管理文件变更记录的工具,它能够帮助开发者追踪项目中的每一个变动,确保团队成员之间...
分布式版本控制系统 版本管理 git的介绍和使用教程 Git是一个开源的分布式版本控制系统,用于敏捷高效地处理任何大小项目的版本管理。以下是一个详细的Git使用教程,包括Git的下载与安装、基本使用、远程仓库操作、...
数据的分布式版本控制。" 指出的是一个使用Go语言实现的工具,名为s3git,它将Git的版本控制概念应用于云存储,使得在云环境中对数据进行分布式版本管理成为可能。这种技术的主要目标是为云存储提供类似于Git的高效...
GitHub 是一个基于 Git 版本控制系统的在线代码托管平台,它不仅提供分布式版本控制,还提供了多种协作功能,使得软件开发者和其他参与者能够方便地共享和协作开发项目。以下是关于 GitHub 的详细介绍: 什么是 ...
### 分布式版本控制系统Git的使用详解 #### 一、Git简介 Git是一种先进的分布式版本控制系统,被广泛应用于软件开发项目中。与传统的集中式版本控制系统(如SVN)不同,Git采用分布式架构,这意味着每个开发者的...
gitGit是一个开源的分布式版本控制系统,它用于敏捷高效地处理任何大小项目的版本管理。以下是Git的详细教程,包括Git的基本概念、安装、基本使用、远程仓库操作、分支管理以及IDEA中集成Git的使用等内容。 一、Git...
分布式版本控制系统(DVCS)是一种去中心化的版本控制方法,它允许用户不依赖单一中心服务器来管理文件版本。这种系统的主要优点在于其灵活性,支持多种工作流,具有更快的处理速度,以及大多数操作可以在本地完成,...
Git构建分布式版本控制器教程 Git是一款强大的开源分布式版本控制系统,由Linus Torvalds于2005年为Linux内核开发而创建。它被广泛应用于软件开发,因其高效、灵活和可扩展的特性受到全球开发者喜爱。本教程将深入...
近年来,分布式版本控制系统Git逐渐成为这一领域的领导者,其设计目标是提供一个高效的处理机制,尤其适合现代多开发者参与的大型项目。 Git的分布式架构是其核心优势之一。在Git中,每个开发者都拥有项目版本库的...
Git是一个开源的分布式版本控制系统,用于敏捷高效地处理任何大小项目的版本管理。以下是Git的详细教程,涵盖基础安装、基本使用、远程仓库操作及分支管理等方面: 一、Git安装 下载Git: 访问Git官网...
### Git:分布式版本控制系统的信息介绍 #### 简介 Git 是一款开源的分布式版本控制系统,最初由 Linus Torvalds 于2005年为了更好地管理 Linux 内核项目而创立。随着时间的发展,Git 不仅成功地支持了 Linux 项目...
### 分布式版本控制系统——Git #### 一、Git简介 **Git** 是一款非常流行的分布式版本控制系统,它由Linux社区开发,免费且开源。Git的设计初衷是为了支持像Linux这样的超大型软件项目的管理,因此其功能强大且...
什么是分布式版本控制系统(DVCS) 学习时长: 2分46秒 试学 3 上手 1:新公司用 Git 管理代码,怎么快速上手? 学习时长: 15分34秒 4 上手 2:团队工作的基本工作模型 学习时长: 9分32秒 5 进阶 1:HEAD、master 与 ...
Git是一种分布式版本控制系统,用于跟踪文件和目录的变化,以及协调多个人员之间的代码协作。以下是一个详细的Git教程,涵盖了Git的基本概念、安装、配置、基本操作、分支管理、远程仓库操作以及团队协作等方面的...
微电网分布式电源逆变器DROOP控制二次调频模型:基于二次控制实现高效调频与调压功能(MATLAB 2021A适用),微电网分布式电源逆变器DROOP控制二次调频模型,加入二次控制实现二次调频控制,及二次调压控制,程序可...