The Subversion Project: Buiding a Better CVS

This open-source project aims to produce a compelling replacement for the Concurrent Versions System (CVS).
Subversion's Future

The release of Subversion 1.0 currently is planned for the beginning of 2002. After the release of 1.0, Subversion is slated for additions such as i18n support, intelligent merging, better changeset manipulation, client-side plugins and improved features for server administration. Also on the wish list is an eclectic collection of ideas such as distributed, replicating repositories.

A final thought from Subversion's FAQ: “We aren't (yet) attempting to break new ground in SCM systems, nor are we attempting to imitate all the best features of every SCM system out there. We're trying to replace CVS.”

If in three years Subversion is widely presumed to be the standard SCM system in the Open Source community, then the project will have succeeded. But the future is still hazy. Ultimately, Subversion will have to win this position on its own technical merits. Patches are welcome.

email: sussman@red-bean.com

Ben Collins-Sussman has worked for 11 years as a programmer and system administrator at various government, academic and commercial institutions. Ben currently works for Collabnet, Subversion's main sponsor, and also moonlights as a composer in the Chicago theater community. His home page is at www.red-bean.com/sussman.

______________________

Comments

Comment viewing options

Select your preferred way to display the comments and click "Save settings" to activate your changes.

regarding the svn+ssh

kashide's picture

where do I find the detailed steps for setting up the server configuration.

My requirement is that I have database on server A and working forlder on server B.

I am not able to use the tunneling over the SSH.

I think I am doing some mistake.
for the following steps :
$ svn list svn+ssh://host.A.com/repo/project
Kashide@host.A.com's password: *****

I get an error message
"Authontication failed. Please explain me why? and what is the solution for this.

Not as compelling as one would hope

Brian Gallew's picture

I've been a systems administrator for 15 years. I've been a revision control evangelist for at least 10 of those years. I've used RCS, CVS, and PerForce. I've never actually used subversion, though, and for good reason: it's impossible to build.

I'll admit, things have certainly improved over the past few years. At least it's actually possible to get a linux distribution with Subversion installed. Of course, if you're already a user, then you're probably using an older version, and the one that comes with your distro of choice isn't compatible.

Then again, if you happen to actually work for a living with Unix(tm), then you probably aren't in a linux-only environment. How about HP-UX? Solaris? AIX? The only way to actually build subversion on those platforms is to either completely ignore several vendor-supplied packages and build them all from scratch, or else to dig back through Usenet and try to find the magic combination of Subversion, Neon, ... that will work with your installed version of Apache. Or Python. Or Swig. Or whatever.

While I understand that the features offered by Subversion are not only useful, but cover some extremely large gaps in CVS, I can build CVS on any platform, and the *only* dependency is RCS, which also builds cleanly on any platform. Frankly, at this point the only way Subversion is going to become interesting to a huge number of people out there is if they ship it in a pure Python/Java/Perl/Ruby/whatever form (i.e. write it in a high-level scripting language that stands a reasonable chance of running on multiple platforms).

Re: The Subversion Project: Buiding a Better CVS

Anonymous's picture

Subversion is really a great system now. It's making strides against CVS in terms of market share.

From my customers forums:
"One of the features that sold me is the ease of access via http. Using CVS, you always have to struggle with firewalls and setting up ssh tunnels or else, put up with the weak security of pserver."

Feel free to check out our Subversion [wush.net] hosting service if you want to give Subversion a spin. We've got instant setup and a week long free trial. You'll be able to start playing with your repository in 5 minutes :)

regarding the download Subversion for Linux

Ritu's picture

i want to free download subversion on fedora linux.So please tell me the way for this.

Release Date

Anonymous's picture

As of today, more than a year after the proposed v1.0 date, it looks like it's at v0.27 :/

v0.37 = v1.0 RC1 (New target is Feb 23, 2004)

Anonymous's picture

According to their site, v0.37 (dubbed 1.0 RC1) will become 1.0 in another week or so if nothing major gets discovered during testing.

Re: Release Date

Anonymous's picture

Yes, what happened?

Subversion rocks!

Anonymous's picture

This is going to be really good... -- mbp

What is the 'intelligent merging' that is slated?

Anonymous's picture

What does this term 'intelligent merging' mean? It sounds like 'intelligent merging' means if I check in a file that's been updated (ie, changed by someone else) since I checked it out, the VCS *intelligently* merges the changes. Does this system currently support concurrent development or not?

Re: What is the 'intelligent merging' that is slated?

Anonymous's picture

Actually, "intelligent merging" means a solution to the classic "repeated merge" problem you see so often in CVS.

That is, you merge some changes from the trunk to a branch. Then later on, you want to merge more changes from trunk to branch, but end up getting *conflicts*, because some of the changes have already been ported over previously.

With intelligent merging, the system remembers which changesets have been ported to each branch. So it can automatically avoid repeated merges.

This feature won't be in 1.0, but should follow soon after.

Re: What is the 'intelligent merging' that is slated?

Anonymous's picture

Ofcourse it supports concurrent development....

Re: What is the 'intelligent merging' that is slated?

Anonymous's picture

It probably refers to the merging of a "sandbox" sub-project, where, say new functionality is being added to a project, with the main project code tree. That way, new functionality can be added and tested seperately without affecting the stability of the main project code. Once it is ready, this stream can be merged into the main project. Just a guess.

Re: The Subversion Project: Buiding a Better CVS

Anonymous's picture

Found the following link to the project:

http://subversion.tigris.org/

Re: The Subversion Project: Buiding a Better CVS

Anonymous's picture

Was there some reason not to include the project URL in this article? Not that it took long to find with Google, but it does seem like an obvious oversight. The URL in question is http://subversion.tigris.org/.

Re: The Subversion Project: Buiding a Better CVS

Anonymous's picture

I had exactly the same question, why no link available for subversion?

Thanks anyway for posting it here, though it shows up only to those who read beyond the article's end :-)

-shalz

Webinar
One Click, Universal Protection: Implementing Centralized Security Policies on Linux Systems

As Linux continues to play an ever increasing role in corporate data centers and institutions, ensuring the integrity and protection of these systems must be a priority. With 60% of the world's websites and an increasing share of organization's mission-critical workloads running on Linux, failing to stop malware and other advanced threats on Linux can increasingly impact an organization's reputation and bottom line.

Learn More

Sponsored by Bit9

Webinar
Linux Backup and Recovery Webinar

Most companies incorporate backup procedures for critical data, which can be restored quickly if a loss occurs. However, fewer companies are prepared for catastrophic system failures, in which they lose all data, the entire operating system, applications, settings, patches and more, reducing their system(s) to “bare metal.” After all, before data can be restored to a system, there must be a system to restore it to.

In this one hour webinar, learn how to enhance your existing backup strategies for better disaster recovery preparedness using Storix System Backup Administrator (SBAdmin), a highly flexible bare-metal recovery solution for UNIX and Linux systems.

Learn More

Sponsored by Storix