LWN.net Logo

An Interview with Tom Lord of Arch (O'ReillyNet)

An Interview with Tom Lord of Arch (O'ReillyNet)

Posted Sep 24, 2004 23:47 UTC (Fri) by rmstar (guest, #3672)
Parent article: An Interview with Tom Lord of Arch (O'ReillyNet)

Arch has one drawback (IMO): The simplest user case is far too complex.

Arch solves problems which I don't have. My problems are being solved well enough by CVS, ATM. If Arch, or any other version control system, wants to be successful, it should try to scale with the needs of its users. If I want to version-control some code of mine, it should not be necessary to dig through 20 pages of wierd stuff that makes my brain spin, but is necessary to satisfy the needs of projects with 1000nds of contributors.

Well, just my 2 cents. I know that arch is great. It is just too much hassle.


(Log in to post comments)

An Interview with Tom Lord of Arch (O'ReillyNet)

Posted Sep 25, 2004 0:44 UTC (Sat) by zenaan (subscriber, #3778) [Link]

I'd say the _documentation_ makes the simple use cases a challenge (at least, makes it feel like that). There are proposals to simplify the help text for example, which we are likely to see later this year (who knows, perhaps very soon if some kind developer hacks it in for us), such as this (very recent) one:
==== example ====
tla command [options]
  * quick help [to be replaced when using a given help category]
  get        : construct a project tree for a revision
  changes    : report about local changes in a project tree
  commit     : archive a changeset-based revision
  replay     : apply revision changesets to a project tree
  update     : update a project tree to reflect recent archived changes
  star-merge : merge mutually merged branches
  ...
==== ====
Which, having used tla for about a month now, shows the core commands for daily development. I wish I'd had that back when I started. Anyway, HTH Zenaan

Simple use case

Posted Sep 25, 2004 1:03 UTC (Sat) by dwheeler (guest, #1216) [Link]

Better documentation would help, but it's more than that. I wrote a review/opinion piece on Subversion, GNU Arch, and some other OSS/FS software configuration management tools that you might find interesting. To my knowledge, my comments are still true. Here's a relevant quote:

"GNU arch gives you a lot of control using lower-level commands, but it doesn't (yet) automate a number of tasks that it really should be automating. Many common operations require multiple commands, when instead a single command and reasonable options should be enough for most people. If you use a single archive for a long time in GNU arch, it eventually accumulates a very large amount of data and becomes inconvenient to work with. arch's developer suggests dividing archives by time and including a date in the archive name. I think handling this accumulation is a nuisance; this kind of manual work is exactly what an SCM should handle automatically (e.g., perhaps arch could hide branches that have been unused in more than a year, by default). Arch has nice caching facilities (both in archives and on individual workstations) which can speed access to specific versions. However, these caches often have to be created by hand (by default the tool should automatically create caches, and remove old automatically-created caches, as well). Arch works slowly if the {arch} directory is on NFS; the tool should be able to detect slow execution and automatically try to find an efficient alternative, instead of requiring user workarounds. Many arch developers seem to create a similar set of higher-level specialized scripts to automate common tasks, but that's missing the point: you shouldn't have to write scripts to make a tool automate common tasks. An SCM tool should include commands that, through automation and good defaults, 'do the right thing' for common tasks. The good news is that the arch developers are realizing that this is a problem and correcting it. The rm (delete) command deletes both the id and the corresponding file automatically (instead of requiring two steps); that capability was only added on February 23, 2004, though, so clearly automating steps has only begun. The documentation notes that automatic cache management is desirable; it just hasn't been done. The mirroring capability is clever, but if you download a mirror and make a change, you can't commit the change and the tool isn't smart enough to automatically help (even though the tool does have information on the mirror's source)."

Another real problem is that arch doesn't support Windows well. That means that if you might ever have to work with any project where there's a single Windows user, you can't use arch... and since people don't like to have to learn many different SCM systems, that's a real impediment for everyone.

That doesn't mean that I think GNU arch is hopeless, at all. Here's what I said: "But don't count out GNU arch for the long term based on these problems, most of which are short-term. Many of these problems simply reflect the fact that GNU arch hasn't had as much time to mature as other tools like subversion. I'm documenting these problems because, in fact, GNU arch has a lot going for it. In my opinion, the GNU arch developers have emphasized simplicity, openness of design, and power (ability to handle complex situations), and have paid less attention so far to ease of use (especially for simple situations). Thus, although it has problems as noted above, GNU arch is extremely powerful and its basic concepts are very flexible."

An Interview with Tom Lord of Arch (O'ReillyNet)

Posted Sep 25, 2004 1:00 UTC (Sat) by newren (subscriber, #5160) [Link]

As someone who's been using Arch for a few months, I'd have to say that I agree with your perspective. I think it's sort of like Linux from years ago--few people would use it because installation was a nightmare (i.e. there's a big "getting started curve"), but of those that do few want to use anything else. However, in my usage, I think I've found that the design of arch doesn't make it intrinsically hard to learn how to use, it just happens to be that way right now. I think that just as easy installers eventually came along for Linux, there are things that could be done to remove the massive learning barrier for people switching to using arch. But there is definitely work to be done, and I got the feeling that providing capabilities for larger scale installations are currently taking priority over trying to reduce the learning curve for beginners, so it'll be interesting to see how things pan out.

Copyright © 2013, Eklektix, Inc.
Comments and public postings are copyrighted by their creators.
Linux is a registered trademark of Linus Torvalds