Subversion 1.0, the CVS alternative, Released


News: Subversion 1.0, the CVS alternative, Released

  1. Subversion 1.0, the CVS alternative, Released (18 messages)

    Subversion has been in the works for a long time, and many people feel it is the natural successor to CVS as the best open source version control system. It fixes problems with CVS such as being able to rename files, rename directories, metadata, manage binary files, and unicode support.

    If Subversion can live up to these features, it could mean a swing in the use of CVS, however that hasn't been seen yet.

    Has anyone moved over to Subversion yet? Any success / issues?

    One large issue is support. How many IDEs / clients are there compared to CVS? There IS TortoiseSVN though...

    Read the slashdot comments on Subversion 1.0 Released

    Subversion home page

    TortoiseSVN home page, the sister to TortoiseCVS, a client that embeds itself into Windows Explorer.

    Watch Hani Bile Subversion

    Threaded Messages (18)

  2. Should we switch[ Go to top ]

    I have been interested in Subversion for over two years now. I first heard about it at a software conference in 2001 and I have been periodically checking out their web site to monitor its progress. Like anybody else who has been doing this, it appeared to be incredibly slow: 0.20...0.21...0.22...zzzzzzzzzz.

    I actually downloaded it earlier this year to experiment with it. It was relatively easy to install and I liked the features. However, it really did not have a client I *really* liked. I am not going to use the CLI. The custom GUI clients were very disappointing, and Tortoise seemed a little flaky. However, I have heard good things about Tortoise, so I may give it another shot. The Eclipse plug-in is for the 2.1 release, but I am on version 3 and I am not going back. Plus, Eclipse plugins can be *very* hit or miss. So, I never got to evaluate it.

    All that said, I *would* like to switch. We are currently on Starteam 4.x, and we are not that pleased (for several reasons). I like CVS and its tool support, but its file/directory moving/renaming limitations looks to be a real PITA, as we change/moved/delete files quite often. I would be interested in hearing other people's experience with Subversion. Like I said, the features and the server look great - I just want a great client.

    As for Hani's bile, it was (like most) pretty empty and worseless. To sum up:

    Paragraphs 1-3: blah, blah, blah (Nothing new here - lots of bitching with no substance yet.)

    Paragraphs 4-5: The requirement to use Apache2 for http server is dumb. (Not sure why this is bad - I am not an apache expert. However, this is not a deal breaker - you don't even need to use http.)

    Paragraph 6: Overly long time spent in alpha/beta development stage (Agreed.)

    Paragraph 7: Puffed up feature list. (It is what it is. They never said it was a groundbreaking version control system. It's CVS without CVS's crap. AFAIK, this does not exist yet.)

    Paragraph 8: Crappy clients. (Agreed, accept he doesn't address the Eclipse client *or* the Tortoise client - typically considered the best client.)

    Paragraph 9: "The whole thing seems to be 'lets reinvent cvs with all its warts, and slap on a few nice features on top'." (This is pretty much #7 all over again. Dud?!? According to their web site, the goal of Subversion is "To build a version control system that is a compelling replacement for CVS in the open source community." I want this. I bet a lot of other developers do, too. This doesn't exists yet. I'm glad it is being developed.)

    Since even Hani cannot find any compelling problems with Subversion, it seems worthy of a look ;-)

  3. Pessimistic Locking[ Go to top ]

    Is it easy to switch on pessimistic locking if a team wants to? IIRC, it wasn't possible with CVS unless one installed a front-end called cvsfe.

    Ganesh Prasad
  4. Pessimistic Locking[ Go to top ]

    Apparently, Subversion doesn't support pessimistic locks. (As an aside, why would you want to, anyway? Use optimistic locking and you will never want to go back. By the way, CVS does support pessimistic locks.)
  5. Pessimistic Locking[ Go to top ]

    it is not in 1.0.0, but planned as a future feature. hop on the users list and check the history.
  6. Pessimistic Locking[ Go to top ]

    It's must have if you have binary files. I remember my experience of handling project documentation file. Binary document files can not be merged so only one person should be able to modify at a time. How do you people handle these kind of situation?
  7. Pessimistic Locking[ Go to top ]

    I just installed SubVersion and installed TortoiseCVN and have been reading up on it and playing around. I think SubVersion is still missing a few things, although more on the client side. The CLI works fine but integration with tools is lacking:

    - no check in/out or file locking support means it's unusable for binary files
    - tortoiseSVN can't move a directory from one directory to another (bug?)
    - eclipse integration isn't complete and doesn't work with WSAD

    I was really hoping to use this but I think we will have to use CVS until SVN becomes more mature..

  8. Pessimistic locking? Why?[ Go to top ]

    Is it easy to switch on pessimistic locking if a team wants to? IIRC, it wasn't possible with CVS unless one installed a front-end called cvsfe.

    > Regards,
    > Ganesh Prasad

    Just out of curiosity - why would you ever *want* pessimistic locking? I have never had anything but heartache with this. It either stalled development or we just circumvented the rules. I'll take merge hell (which is *quite* infrequent if you check in often and keep code and config files lean) over pessimistic locking any day.

    Perhaps I am overlooking a reason why you would ever use it.

  9. RE: Should we switch[ Go to top ]

    The Eclipse plug-in is for the 2.1 release, but I am on version 3 and I am not going back.

    Quote from the subclipse website:

    What version of eclipse does Subclipse support ?

    The current version of Subclipse (0.9.0) supports both Eclipse 2.1.x and Eclipse 3M7
  10. Subversion, Eclipse, Ant[ Go to top ]

    Subversion plugin for Eclipse

    Subversion Ant tasks
  11. Subversion In Use[ Go to top ]

    At my behest, my employer allowed the development team to switch to Subversion from CVS over a year ago. It is everything it promises to be, and has been a great asset to us. I highly recommend it over CVS.
  12. David,

    What client are you using to access Subversion. What has your experience been?
    Any gotchas?

  13. Subversion In Use[ Go to top ]

    Do you use some kind of graphical diff? Did your import your CVS projects to SVN (by import I understand - import project along with history)?

  14. For example i haven't seen any graphical diff tool for Unices. I could live without graphical interface for SVN but graphical diff is a must. It has no changesets (synchronisation of distributed repositories) like BitKeeper has (to be fair - I've seen some preliminary support for this feature), lack of 'undo' - altought it has a lot of advantages over CVS:

    * Unified handling of all types of files (symlinks (still planned?), directories) - fianally you can rename/move directories in repository without loosing history,
    * From the very beginig it is designed to work as a client-server,
    * It has atomic operations (no more partial commits and strange behavior after that),
    * It's branching, and taging mechanisms are far better than CVS',
    * It is easy to access repository from firewalled environments since SVN is based on WebDAV,
    * It has a clean API, and AFAIK it is pretty well extendable.

    Will check

  15. I have been using Subversion for the last eight months on J2EE projects, and can't recommend it highly enough.

    Subversion is very refactoring-friendly. I remember a project where I used CVS, and we would find ourselves AVOIDING refactoring because it was so painful to do things like rename files and delete directories. You know a source code tool is untenable when it intereferes with your ability to apply good design practices.

    Subversion cleans up all those problems, and makes it extremely easy to browse, revert, and diff to earlier committed states of the project. TortoiseSVN is a gorgeous, simple, client; I don't know what the best *nix client is at the moment.

    Hani, as usual, appears to be crapping on other people's generous contributions because it gives him blog hits. If he doesn't like the Apache 2.0 dependency, I can respect his personal opinion, but to say this dependency makes the project unusable in most environments seems absurd to me. How many corporate environments would be wanting to put their production source code control server outside of their internet firewall?

    Unless you absolutely need distributed repository synchronization, I would strongly recommend evaluating Subversion as an alternative to your current commercial (or CVS) source code control solution.
  16. I use SubVersion for about 1 year now (even the early betas were very stable) and all that I can say is that I will never use CVS again. I use it on both FreeBSD and Windows and in windows I use TortoiseSVN as the frontend gui and its really great! (I plan to take a look at the Eclipse Plugin too).

    Pedro Costa
  17. My company is currently using CVS 1.11.9 (running on Unix) + TortoiseCVS + Websphere Studio 5.1.1

    Should we switch to Subversion 1.0, TortoiseSVN, Subclipse?

    The critical feature for us is the ability to use Subversion from
    within Websphere Studio.

    Is anybody using Subclipse in conjunction with WSAD 5.1.1?
  18. Subversion performance[ Go to top ]

    How does the performance of Subversion compare with the performance of CVS?

    We currently use CVS w/ SSH2. Our most frequent operations are cvs
    update, cvs checkout, cvs tag, and cvs rtag.
  19. Re: Subversion performance[ Go to top ]

    I'm planning to try Subversion soon, but at moment I can only transcript to you what is written in Subversion features page:

    "In general, the time required for an Subversion operation is proportional to the size of the changes resulting from that operation, not to the absolute size of the project in which the changes are taking place. This is a property of the Subversion repository model."

    "Branching and tagging are cheap (constant time) operations.
    Branches and tags are both implemented in terms of an underlying 'copy' operation. A copy takes up a small, constant amount of space. Any copy is a tag; and if you start committing on a copy, then it's a branch as well. (This does away with CVS's 'branch-point tagging', by removing the distinction that made branch-point tags necessary in the first place.)"