Bazaar is ignored in some places?

Matt Nordhoff mnordhoff at mattnordhoff.com
Tue Dec 11 18:37:16 GMT 2007


Nils Ackermann wrote:
> David Clymer <david at zettazebra.com> writes:
> 
>> On Sat, 2007-12-08 at 12:06 -0600, John Arbash Meinel wrote:
>>> I believe the author of that table has been asked to update. But
>>> refuses to believe that "bzr" is anything different from Arch,
>>> since Bazaar was once a fork of Arch, before -ng was written.
>> I emailed the author recently, suggesting an update and explaining
>> that it wasn't just an arch fork anymore, and was referred here:
>>
>> http://better-scm.berlios.de/contribute/#comprison_new_system
>>
>> So, if anyone wants to be a "champion"...
> 
> I'd jump in if people on the list help me fill out the questionnaire I
> prepared:
> 
> 
> 
> ------------------------------------------------------------------------
> 
> 
> From that I'll prepare the necessary xml and submit it to the site.
> 
> To see the answers other scms gave, check
> 
> http://better-scm.berlios.de/comparison/comparison.html
> 
> Cheers,
> Nils

I think I've mostly covered it, except that I don't know much about the
GUIs.

> * 1 Repository Operations
> 
> ** (a) Atomic Commits
> 
> Support for atomic commits means that if an operation on the repository is
> interrupted in the middle, the repository will not be left in an inconsistant
> state. Are the check-in operations atomic? Are the check-in operations atomic,
> or can interrupting an operation leave the repository in an intermediate state?
> 
> ------------------------------------------------------------------------
> Answer: 

Yes, they are atomic.

> ------------------------------------------------------------------------
> 
> ** (b) Files and Directories Moves or Renames
> 
> Does the system support moving a file or directory to a different location
> while still retaining the history of the file?
> 
> ------------------------------------------------------------------------
> Answer: 

Yes. Bazaar has very good rename support, and it isn't just a fancy
copy+delete.

> ------------------------------------------------------------------------
> 
> ** (c) File and Directories Copies
> 
> Does the version control system supports copying files or directories to a
> different location at the repository level, while retaining the history?
> 
> ------------------------------------------------------------------------
> Answer: 

Unfortunately, no. Bazaar's design means it has great rename support but
copying, not so much.

> ------------------------------------------------------------------------
> 
> ** (d) Remote Repository Replication
> 
> Does the system support cloning a remote repository to get a functionally
> equivalent copy in the local system? That should be done without any special
> access to the remote server except for normal repository access.
> 
> ------------------------------------------------------------------------
> Answer: 

Yes.

> ------------------------------------------------------------------------
> 
> ** (e) Propagating Changes to Parent Repositories
> 
> Can the system propagate changes from one repository to another?
> 
> ------------------------------------------------------------------------
> Answer: 

Yes.

> ------------------------------------------------------------------------
> 
> ** (f) Repository Permissions
> 
> Is it possible to define permissions on access to different parts of a remote
> repository? Or is access open for all?
> 
> ------------------------------------------------------------------------
> Answer: 

They're open for all.

> ------------------------------------------------------------------------
> 
> ** (g) Changesets' Support
> 
> Does the repository supports changesets? Changesets are a way to group a number
> of modifications that are relevant to each other in one atomic package, that
> can be cancelled or propagated as needed.
> 
> ------------------------------------------------------------------------
> Answer: 

Yes.

> ------------------------------------------------------------------------
> 
> ** (h) Tracking Line-wise File History
> 
> Does the version control system has an option to track the history of the file
> line-by-line? I.e: for each line show at which revision it was most recently
> changed, and by whom?
> 
> 
> ------------------------------------------------------------------------
> Answer: 

Yes, "bzr annotate".

I don't like how that's worded. I don't know how a VCS could *not* track
the information necessary to generate annotations. The question is
whether it has a command to show it.

> ------------------------------------------------------------------------
> 
> * 2 Features
> 
> ** (a) Ability to Work only on One Directory of the Repository
> 
> Can the version control system checkout only one directory of the repository?
> Or restrict the check-ins to only one directory?
> 
> ------------------------------------------------------------------------
> Answer: 

No.

> ------------------------------------------------------------------------
> 
> ** (b) Tracking Uncommited Changes
> 
> Does the software has an ability to track the changes in the working copy that
> were not yet commited to the repository?

I don't know what that means. It can show what the changes are...

> ------------------------------------------------------------------------
> Answer: 
> 
> ------------------------------------------------------------------------
> 
> ** (c) Per-File Commit Messages
> 
> Does the system has a way to assign a per-file commit message to the changeset,
> as well as a per-changeset message?

No.

> ------------------------------------------------------------------------
> Answer: 
> 
> ------------------------------------------------------------------------
> 
> * 3 Technical Status
> 
> ** (a) Documentation
> 
> How well is the system documented? How easy it is to get started using it?
> 
> ------------------------------------------------------------------------
> Answer: 

I can't give a great answer, but I would say Bazaar is pretty well
documented, and that it's very easy to get started.

> ------------------------------------------------------------------------
> 
> ** (b) Ease of Deployment
> 
> How easy it is to deploy the software? What are the depenedencies and how can
> they be satisfied?
> 
> ------------------------------------------------------------------------
> Answer: 


The dependencies are listed at <http://bazaar-vcs.org/InstallationFaq>.

Required:

* Python 2.4 or up
* ElementTree (included in Python 2.5, so no longer necessary)

Recommended:

* cElementTree (faster ElementTree; included in Python 2.5 so no longer
necessary)
* paramiko (SFTP support and SSH support on Windows)
  * PyCrypto

All of those are Python modules which are easily installable.

It also uses OpenSSH, but I think it can use paramiko instead, at least
on Windows.

> ------------------------------------------------------------------------
> 
> ** (c) Command Set
> 
> What is the command set? How compatible it is with the commands of CVS (the
> current open-source defacto standard)?
> 
> ------------------------------------------------------------------------
> Answer: 

It's mostly pretty similar.

> ------------------------------------------------------------------------
> 
> ** (d) Networking Support
> 
> How well is the networking integration in the system? How compliant it with
> existing protocols and infra-structure.
> 
> ------------------------------------------------------------------------
> Answer: 

It's very good, though not very fast.

Dumb = Bazaar does not need to be installed on the server.
Smart = The client communicates with a Bazaar server program on the
server ("bzr serve")

Read-only, dumb:
http

Read-only, smart:
bzr (custom protocol)
bzr+http (Currently has a path-handling bug that, while not a security
vulnerability or anything, means it doesn't work in most configurations.
There is a patch that is actively being worked on.)

Read-write, dumb:
ftp
sftp

Read-write, smart:
bzr+ssh

> ------------------------------------------------------------------------
> 
> ** (e) Portability
> 
> How portable is the version-control system to various operating systems,
> computer architectures, and other types of systems?
> 
> ------------------------------------------------------------------------
> Answer: 

It's (mostly) written in Python, so it should be portable. It works on
Linux, OS X, and Windows, and probably other Unix-like systems.

There are currently some case-insensitive-filesystem issues, though, and
I don't think it can represent symlinks on fses that don't support them.

> ------------------------------------------------------------------------
> 
> * 4 User Interfaces
> 
> ** (a) Web Interface
> 
> Does the system have a WWW-based interface that can be used to browse the tree
> and the various revisions of the files, perform arbitrary diffs, etc?

There's Loggerhead <http://www.lag.net/loggerhead/>, but that's quite
heavy-weight, using TurboGears.

There's also bazaar-webserve, which is based on some old version of
Mercurial's hgweb or something.

> ------------------------------------------------------------------------
> Answer: 
> 
> ------------------------------------------------------------------------
> 
> ** (b) Availability of Graphical User-Interfaces.
> 
> What is the availability of graphical user-interfaces for the system? How many
> GUI clients are present for it?
> 
> ------------------------------------------------------------------------
> Answer: 

There are QBzr (Qt-based), bzr-gtk (GTK+) and TortoiseBzr (I think). I
don't think any of them are that mature, but they're progressing pretty
rapidly.

I don't know much about this area.

> ------------------------------------------------------------------------
> 
> * 5 License
> 
> What are the licensing terms for the software?
> 
> ------------------------------------------------------------------------
> Answer: 

GPL v2 or later.

> ------------------------------------------------------------------------
-- 



More information about the bazaar mailing list