Subversion Sucks.

Seriously. At this point I’ve read the entire book ‘Version Control with Subversion’, read about nine separate tutorials on how to install it and configure authentication, and tried to install two separate web-based SVN managers. None of it works. It’s all horrendously broken. I can’t even comment on whether or not it’s a good technology because it refuses to work completely. And of course if I ask for help anywhere I’ll just get directed to read the book, read the manpages, read the user guides, and none of it works because veryone who sets up subversion has a better way of doing it than you. It’s ridiculous.

For example, here’s what I’ve tried to do. I’ve tried to install subversion and create the repositories manually. I actually got the furthest with this method. Created my repositories ( /svn/repositories/whatever1, et cetera ), uploaded my initial import, set up an svn group and user, and individual groups for each repository, added my regular user to those groups, checked out my code, made some changes, and then tried to commit it again. The error: permission denied on db/transactions/1-1.txn. And I can’t figure out what it means. What permissions? Who’s trying to access that? Why is it necessary? Why doesn’t my user have those permissions when I attributed everything correctly? And of course the documentation doesn’t provide any answers.

Then I tried using SVNManager, which is supposed to make it easier to handle creation and administration of repositories. Set it up exactly how I’m supposed to, using their way of handling repositories, which is completely different from the instructions I was following doing it manually. Launch it in my browser: blank screen. The webapp is running, but it’s total output is: nothing.

Then I tried using rapidSVN, a program put out by Collabnet to make dealing with Subversion easier. I install it from portage, and it segfaults. Nothing else.

At this point I’m at my wit’s end, so I go back to the Subversion book, reading carefully over the chapters on installation and maintenance, and I know almost immediately it’s going to be no help at all. Quoting from this chapter:

Creating a Subversion repository is an incredibly simple task. The svnadmin utility, provided with Subversion, has a subcommand for doing just that. To create a new repository, just run:

$ svnadmin create /path/to/repos

No, it’s not that simple, and no it’s not ‘just run’. Where should the repositories reside? What are some normal defaults for this sort of situation? What do the authors recommend? What should the permissions of the repository paths be? What should the permissions of the repository root folder be? It’s never ‘just run’.

I’ve now wasted the better part of two days working on this and I’m in exactly the same place I was before. I was hoping to use my four day weekend to learn more about version control. And I’m in exactly the same place I was four days ago.

Advertisements

9 Comments

  1. Posted July 5, 2006 at 5:45 pm | Permalink

    From what I remember, I think Subversion installed very easily on my Ubuntu box. Not sure why you’re having so many problems

    If you want an easy way to try out Subversion, DreamHost offers Subversion serving as part of all of their web hosting packages. That’s an easy way to get started.

    By the way, if you think Subversion is bad, you should try CVS – I don’t think it will be any easier to set up, though I could be wrong because maybe there are some issues in the particular version of Subversion you are trying to use. Subversion is definitely more sensible once you get it installed.

  2. Posted July 5, 2006 at 7:39 pm | Permalink

    I may just not be very good at setting it up, but normally when that happens there’s some sort of guiding hand I can follow. With Subversion, there’s six guiding hands I can follow and they all have different ways of going about the set up because Subversion, by virtue, is made for varying enterprises and configurations. I have yet to find a guide that fits what I’m trying to do with it.

  3. Posted July 7, 2006 at 7:37 pm | Permalink

    I recommend you try Bazaar (http://bazaar-ng.org/) instead. It has all of the benefits of subversion over, say, CVS, but requires no special server software.

  4. Subversion User
    Posted July 13, 2006 at 2:10 pm | Permalink

    You should show some goodwill… and do not complain about Subversion when your problems really are with third-party software packages NOT endorsed by the Subversion project (AFAIK).

    > The error: permission denied on db/transactions/1-1.txn. And I can’t figure out what it means. What permissions?

    How about file access permissions?

    > Who’s trying to access that?

    You read the book. So you should know that it depends on the access method, that is, whether you use a svn:// URL or https:// URL or file:// to access your repository. The general answer is “some svn library routine is run by some Unix user”. Maybe it needs write permissions. The error message sucks, I agree. But it is not so hard to experiment to find out what is wrong, really.

    > Why is it necessary?

    Why is reading/writing some obscure internal bookkeeping file necessary? How about: because it is needed for internal bookkeeping?

    > Why doesn’t my user have those permissions when I attributed everything correctly?

    Easy: you are wrong in the latter part.

    > And of course the documentation doesn’t provide any answers.

    Your should try chown/chmod instead.

    Finally: to avoid permission problems, the best way to set up Subversion is by granting read/write permissions on the entire repository to the www user, and using exclusively the https access method (that is, setting up Apache with the Subversion mods). When you need users/groups, you perform authentication using one of the many mod_auth_something modules available in Apache (great flexibility), and you authorize access to parts of the repository by editing the Subversion module’s configuration in Apache. This is also explained in the book.

  5. Linh
    Posted June 28, 2007 at 9:34 pm | Permalink

    I installed svnManager to control repository and user. However, I don’t know the relation between user created in passwd file and user created by svnmanager. the second,I use svnManager to create a repository, and it’s empty. How put data of a project into it. Actually, what and how does svnmanager manager? I still don’t know what advantages of it.

  6. Nicholas
    Posted December 23, 2007 at 10:20 am | Permalink

    Seriously, is this trolling?

    Subversion is difficult for most (gui) people because it is a command line application with many required executables (svnadmin, svnlook, svn, etc..).

    I feel your pain, but as suggested above, the gui apps are from 3rd party providers – svn works just fine if you (take the long tortuous route to get to) know it.

    Where do you make a repository? Good question! The answer is – anywhere it makes sense for you! On SUSE the suggested (by gui apps) location is /srv/www/svn or /srv/svn – RedHat and others would be /var/www/svn or /var/svn – it would be nice if subversion “suggested” a default location.

    Fortunately my 1st experience of subversion was via SourceForge Enterprise, so it was mostly positive, but is not viable for most users (a kernel upgrade requires a recompile and it may not work for the new kernel). usvn is very cool as it has an install routine that takes care of most things for you and even suggests the webdav config for apache, and has security to boot! After trying a few gui apps, this is the one I recommend for (gui) managing repositories easily.

    Try Eclipse IDE (Subclipse = svn plugin – just get EasyEclipse to save the headaches) for Linux or Win, or Tortoise for Win is good too for almost everything you will want to do.

  7. Posted December 19, 2009 at 9:51 pm | Permalink

    The distinction between technology (SVN) and the tools on top of it (GUI clients or installers, etc) simply does not exist for most users (including myself). I have used CVS and Subversion for a number of years, and Subversion has this very interesting problem that the tools that are simple and free for CVS do not have a counterpart in Subversion. And then, we have a debate here that oh, it is or it is not subversion team’s fault. Either way, I have had to go back from Subversion to CVS multiple times (on different projects), and on some projects there is absolutely zero buy in from the team to ever moving to SVN. The only teams (for me) that have successfully moved to SVN are the ones that also budgeted in SmartSVN license copies for all users.

  8. Posted September 23, 2010 at 5:25 pm | Permalink

    Hi dick
    I’ve recently create
    an excellent search appliance –
    chlopy
    P.S. Yahoo – the whole shebang wishes be found! Google: nothing was genuinely wrecked…

    Bye to everyone!

  9. Posted January 16, 2013 at 8:13 am | Permalink

    Hi there! I just want to give a huge thumbs up for the nice data you could have here on this post. I might be coming back to your weblog for more soon.


Post a Comment

Required fields are marked *
*
*

%d bloggers like this: