[plug] Source Code 'Repository'

Russell Steicke r.steicke at bom.gov.au
Thu Aug 18 17:12:39 WST 2005


On Thu, Aug 18, 2005 at 04:22:37PM +0800, Timothy White wrote:
> I'm looking for a source code manager, or repository application. I've
> seen many different ones, and am looking for opinion as to what would
> be best.
> As my computer isn't online permanently I can't be the one who runs
> the server. So firstly it has to work via ssh (i.e. doesn't need root
> to setup and install).

By far the easiest thing is to put your project on sourceforge and let
them worry about it.  But I know you already know about that.

> Secondly, it needs to be easy to checkout the project from any Linux
> computer and work on it and check the changes back in.
> It would be really nice if I can have multiple 'groups' of files. I.e.
> the working copy has everything. But checking out a version (not the
> dev version) would only give you the files needed for that version. So
> i could include files that contain notes, API specs... in the dev
> version, but they aren't in the releases.
> I also need an easy way to have versions. The most current being dev
> and then when I'm ready I make another release version. So a person
> should be able to check out dev, or a release. being able to check out
> intermittent stages would be nice, but not necessary.

I use tla a bit, and really like it.  Downsides: it can be hungry for
disk space, storing lots of pristine trees either in your working copy
or in a revision library.  (This is alleviated quite a bit by hard
linking stuff that hasn't changed, so isn't that bad, really.)

If you have a tla binary, you can carry that around and it will work
(with caveats about libc versions etc) as long as gnu diff, patch and
a couple of other things are installed.

Branches are easy, and cheap.  (Branching is called "tagging" in the
arch world, "branch" refers to a piece of the category - branch -
version - revision hierarchy.)

You don't need root access to set up an archive.  One of the design
principles was the ability to use existing non-arch-specific servers.
Better still, you can have secure read/write access to your archive
via sftp, and others can have read-only access to the same archive via
http.

Complicated versioning stuff (dev tree has extra notes etc) can be
done with configs, which is a way to describe to tla how to assemble a
tree from multiple other trees.

> Any pointers? I've used svn a bit, but I'm not sure it'd work for what
> I want. I've started working with tla but haven't gotten very deep
> yet, not sure exactly how it does versions. Same with arch, and cvs,
> I've only gotten the code for a project via them, always following a
> set of instructions, and never committing them, or selecting a
> specific version.

Arch is the proof of concept version of what is now called tla, and
also the name for the system and storage format.  Bazaar is a fork of
tla that initially concentrated in UI issues, but started changing
other things a while ago.  It's still backwards compatible.  Most
users would probably recommend bazaar now.




-- 
Russell Steicke

-- Fortune says:
Views expressed may not be those of the sponsor.



More information about the plug mailing list