OSDir Web
News | Open Source Software Directory | Screenshot Gallery Ad Info ::
Databases | Java | Linux | Open Source | XML | Tech | Mail (blog-ish) | Documentation

Login
 Username
 Password
 Remember me


 Become a Member!
 Login Problems?


Contribute:
· News/Reviews/Release
· Submit a New App!

Misc:
· My Account
· Editorial Feedback
· Administration
· Logout

News via email
Enter your Email



NEW! Learning Center
Special educational offers, white papers, webcasts, podcasts (sponsored)


IT Discussion Community for software programmers, web developers, and linux fans alike.

OSDir Open Docs Projects
USPTO Patents Archive


Open Source Software Directory

[ Main Applications area | New | Popular | Top rated ]

Arch Revision Control System

[ | Report broken link ]

Programming Language: C

Proprietary Equivalent: BitKeeper

Description:
GNU arch is a revision control system, similar in purpose to tools such as CVS, SCCS, and Subversion. It is used to keep track of the changes made to a source tree and to help programmers combine and otherwise manipulate changes made by multiple people or at different times. GNU arch has some features that make it particularly useful for public free software projects: it's easy to learn; it's inexpensive and easy to administer; it's a distributed system so there's no need to give write permission to every project participant; it has excellent support for the kinds of branching and merging that can make a free software project team shine.

Author: Tom Lord
Homepage: http://gnuarch.org/

App rating details:
Total votes: 3
Overall rating: 8.67

How'd this get started?:

"Lots of things.

First, when I was a working student, years and years ago, some of the people I respected and was trying to learn from were interested in a topic they called "programming in the large": the question of how to manage programming projects involving hundreds or thousands of programmers. I became interested in that problem and revision control is a subset of that problem.

Just a few years ago I had a stint consulting for a (now defunct) research lab at a major telecom company (I wrote them a version of malloc with debugging features and made some modifications to GCC to make those features more useful). My boss there had asked me to use CVS to "make [him] less nervous." I couldn't. CVS just makes my skin crawl. Most of the time it just gets in the way and the critical core things its supposed to help with, like branching, merging, and tagging, are just painful and awkward with CVS. It's a horrible system. At that time, I did spend a few weeks on a skunk-works project to invent something better -- you know, to make my boss less nervous by at least using _some_ form of revision control. That little project failed and failed hard. I didn't understand, back then, the importance of branching and merging --- I just wanted something to snapshot my source trees. I got that, but even as just a limited system it was way too slow and used up way too much disk space (even by my standards as a notorious disk-hog).

It was around (slightly before) that time that I noticed the Subversion project. I found it particularly interesting for two reasons: (a) they were promising smart merging features; (b) they decided to make the storage management part of Subversion a transactional filesystem. I'm a big fan of the general idea of a transactional filesystem so Subversion sounded like a great project. I later came to regard Subversion as a very flawed design and implementation but it wasn't really a question for me back then --- this was sufficiently early in the lifetime of Subversion that I couldn't really use it anyway. (As I recall, this might even have been back before Subversion was a "self-hosted" project -- before the development team itself was willing to rely on it. A long time ago.)

Some years later I was unexpectedly unemployed (a long painful story, there). This was after the .com bubble had burst so tech jobs were pretty hard to come by where I was living (the San Francisco Bay Area; Silicon Valley; the epicenter of the economic earthquake).

Out of desperation as much as anything I thrashed around trying to find a free software project I could do quickly in order to try to salvage some semblance of a career; to have something I could put on my resume and say "hey, see what I can do?" Maybe, if I got very lucky, to have a project I could make money from directly.

During that search I "renoticed" Subversion and revisited the whole issue of revision control systems. I thought about the issues more than I had in the past: what the requirements for storage management are to avoid using too much disk; what's needed from branching and merging; how to do atomic commits of whole trees --- that sort of thing.

With all due respect to the Subversion folks, many of whom appear from over here to be very good hackers, I realized that they had completely blown it. Subversion is a dog. It's a horrible, horrible design based on a few very good ideas. It's hard, I think, for casual observers to recognize the problems with Subversion given the good ideas it contains, the high skill level of the developers, and the good job of project management they do --- but the problems were enough to prevent me from just joining the Subversion project.

I realize that that's more than a little bit inflammatory so please let me qualify it a bit. I'm well aware that many people now use Subversion and are reasonably happy with it. In my view it's _not_ an improvement over CVS because it takes too many steps backward in various areas --- but at the same time I recognize that in spite of those backwards steps, it also gets a few things right that CVS does not. If those are the only things you are really paying close attention to, Subversion is from your perspective an improvement over CVS.

But for me, it was clear I wouldn't want the hassle of maintaining a Subversion archive in my environment: the admin burdens are too large, worse than CVS it seemed to me. And it was clear I wouldn't want to hack on Subversion itself: the code was way too large and complex for what seemed to me had to be a much easier problem to solve. I'd very, very much wanted the smart merging features that they've long promised but not yet delivered.

In short, part of what propelled me to write arch is just simple, old fashioned, ego-driven rivalry: I wanted to show those folks up."


[ Download Arch_Revision_Control_System now! | Get Support for Arch_Revision_Control_System at LinuxQuestions.org ]

Advertise With Us! | Comments are property of their posters.
Copyrighted (c) 2008, but we're happy to let you use what you wish with attribution. OSDir.com
All logos and trademarks are the property of their respective owners.
OSDir is an inevitable website. super tiny logo

Page created in 0.204113 seconds.