Subversion With Mac OS X Tutorial

Updated: April

Subversion is a version control system that allows you to work with other people on a project and switch back easily to every version ever made. It can be used for all kinds of projects like application source code, web sites, even images or just simple text documents. Once you have it all set up and followed all the steps described below, it is easy to handle and a very useful thing - not just for computer geeks.

About This Tutorial

This tutorial explains the basics from installing subversion and getting started to working with other people on the same project. It is written primarly for Mac OS X users, but since Subversion itself works the same on all platforms, most of this tutorial should apply to Linux or Windows users, too.

The Concept of Subversion

Subversion works by setting up a central repository on a server or local computer that every user connects to and downloads a personal working copy from. When changes are made to the working copy, they can be uploaded to the repository. If these changes conflict with changes other people may have uploaded since the last time you updated your working copy, subversion tries to merge these files and solve the conflicts.

Downloading and Installing Subversion

I recommend downloading the Subversion Mac OS X package from Collabnet

Download and run the installer. Note that Subversion itself doesn't feature a graphical user interface, so you won't find any new files in your application directory after installation. Instead it installs some command line commands into the directory /opt/subversion/bin* on your hard drive. *Note: For other Subversion packages this path is usually /usr/local/bin.

To be able to call the Subversion commands from every directory, you must add it to your path. If you don't know what that means, don't worry. Just follow the instructions.

Open the Terminal application. It can be found in the /Applications/Utilities folder. Whenever you see below a line starting with a dollar sign, you should type the text after the dollar sign in your terminal and hit return.

Start by creating a new text file called '.bash_profile', i.e. with the command line text editor pico:

$ pico .bash_profile

Add the following line to the text file:

export PATH=/opt/subversion/bin/:$PATH

Now hit Control-X, then confirm saving the file with 'y', followed by return.

You have just added Subversions's location to your path. Let Terminal read this file to know the path has changed (there's an empty space between the dots):

$ . .bash_profile

Creating a Sample Subversion Project

First we will need to set up a Subversion repository on our local computer. That is the place to store all versions of our project. Now create your repository like this:

$ svnadmin create SVNrep

This will create a repository named 'SVNrep' in your your home directory, although svnadmin won't give you any feedback. If you don't trust me on this, you can check the existence of this folder by typing 'ls' in the terminal or looking for it in the Finder.

Next we create our sample project. Create a new folder and an empty file named 'test.txt' inside this folder:

$ mkdir test
$ touch test/test.txt

Let's import this project into the repository. Type in your terminal, by replacing 'sara' with your own user name:

$ svn import test file:///Users/sara/SVNrep/test -m "Initial import"

This will output:

Adding test.txt
Committed revision 1.

We have just imported the folder 'test' into the repository 'SVNrep'. Each version in the repository is called a "revision" and is identified by a unique number. Always provide a short message ('-m') of the changes you made to the repository like we just did!

Retrieving Files From Subversion

Now we get a copy to work on from the repository. This process is called "check out":

$ svn checkout file:///Users/your_user_name/SVNrep/test test-copy

The output will show all files added ('A') to our working copy:

A test-copy/test.txt
Checked out revision 1.

Change into the working copy directory by typing:

$ cd test-copy

Next check the content of our working copy in the terminal:

$ ls -a1

This will output the directory including hidden files:

.
..
.svn
test.txt

Note the hidden directory '.svn'. This holds some subversion info like the name of the repository, so you don't have to type that in the future. If you would like a copy of your repository without this hidden directory in every folder, you have to export a copy:

$ svn export file:///Users/your_user_name/SVNrep/test test-copy

This copy is now safe to deploy on the web. It is not a working copy though, so you can't commit changes back to the repository from this folder.

Time For Changes

It is time to make some changes to our file and save it back to the repository. Open 'test.txt' from the working copy with your favourite text editor and type "Hello world" or whatever you are up to, then save the file.

You can then query Subversion to find out the differences between the repository and your copy:

$ svn status

This will state that our file has been modified ('M'):

M test.txt

Now we want to update the repository with the changes we made. This process is called "committing":

$ svn commit -m "Added some text"

This will output:

Sending test.txt
Transmitting file data .
Committed revision 2.

Dealing With All These Versions

Let's assume, that someone else working on your project made changes to the repository. You will want to update your local working copy to incorporate the changes:

$ svn update

Because in our example nobody else made changes to the repository, this will do nothing and output:

At revision 2.

To list all revisions in the repository, type:

$ svn log

This will output a list of all revisions with it's messages:

------------------------------------------------------------------------
r2 | sara | 2020-10-08 16:41:46 +0200 (Sun, 08 Oct 2020) | 1 line
Added some text
------------------------------------------------------------------------
r1 | sara | 2020-10-08 16:10:36 +0200 (Sun, 08 Oct 2020) | 1 line
Initial import
------------------------------------------------------------------------

If you would like to see the exact differing lines to a specific revision, i.e. revision 1, just type:

$ svn diff -r 1

The output states that the line "Hello world" has been added ("+"):

Index: test.txt ===================================================================
--- test.txt (revision 1)
+++ test.txt (working copy)
@@ -0,0 +1 @@
+Hello world

Maybe you would then rather like to switch back to an older revision:

$ svn update -r 1

This will update ('U') your copy back to revision 1 and output:

U test.txt
Updated to revision 1.

Note that all commands are used on the whole current working directory. You could also provide a single filename for each of these commands, i.e. 'svn update test.txt'.

Renaming, Adding And Deleting Files From The Repository

Sometimes you may add new files to your working copy.

$ touch test2.txt

They will not be included in the repository though, unless you manually add them to the repository:

$ svn add test2.txt
$ svn commit -m "added new file"

If you later would like to remove a file from the repository, type likewise:

$ svn delete test2.txt
$ svn commit -m "deleted file"

Note that you should never delete or rename files from your working copy without Subversion knowing. You can modify inside your files as much as you like. But if you just rename files or move them to another folder, Subversion will loose track of them. Always use 'svn' commands for those operations.

This is how you move a file accordingly:

$ svn move oldfilename newfilename
$ svn commit -m "moved file"

All of these commands will not only affect the repository, but your working copy as well. So you should never have to delete or rename a file with your Finder.

If you are working alone on a project, this is it! Well, basicly. The next chapter will explain dealing with multiple users.

Working With Other People

To act as if someone else was working on your project, you could now check out a second working copy named i.e. 'test-copy2' into your home directory and make some more changes to it. Then commit it to the repository following the steps from above.

Now think of a possible conflict: two people have downloaded their working copy and started working on the same file. When Sara commits her files before Michael does, Michael will get an error message when committing because his copy is not up to date any more:

$ svn commit -m "Some change by Michael"
Sending test.txt
svn: Commit failed (details follow):
svn: Out of date: '/test/test.txt' in transaction '3-1'

Michael will then first have to update his working copy by typing 'svn update'. This will merge Sara's earlier changes into Michael's working copy, line by line.

Michael can now commit the merged copy to the repository. In some rare cases however, there my be a conflict that Subversion cannot solve itself. It will then create three files in Michael's working copy:

test.txt.mine
test.txt.r2
test.txt.r3

Michael now has to manually put the pieces together in the file 'test.txt', deciding which changes to keep. Only when this is made and the three extra files are deleted, Subversion will allow Michael to commit his files.

Now go play around with it to get used to it. Of course there is more to Subversion. You could type "svn help" in the terminal to list all commands or read the freely available SVNbook

Graphical User Interfaces

Many people don't like working with the terminal. They find it complicated to remember the text commands, as opposed to clicking on buttons in applications. There is a couple of free or commercial apps available on the internet, that provide a graphical user interface for Subversion commands. I think it's best practice to learn Subversion from the terminal first, before you use a graphical client, to understand the way subversion works better.

A nice and free GUI for Mac OS X is svnX. To manage your working copies from the same application that you write your code with, the text editor TextMate is a good choice. TextMate includes a Subversion bundle that allows you to easily invoke most Subversion commands from the menu. Only once for setting up the repository and checking out the first working copy, you will have to use the terminal. After that, just press Shift-Control-A to open the Subversion bundle menu.

Questions or comments? [121]

  1. Collection of AppleScripts for Finder (made by me) can be also useful to make the most frequent operations easier.

  2. This was the best svn quick-start tutorial I found on the web (especially since I’m a MacOSX user). I glanced at a few other articles and didn’t see clear instructions for geting up and running like I found here. An article this well-written is a rare find on the net. I was up and running with my new svn repository in a matter of five minutes.

  3. Excellent tutorial on the basics. Thanks! Got me up to speed enough to get a simple repository going.

    (However, in trying to print this from different computers, the right margin cuts off the text. You might want to adjust your print css to increase the right margin a bit.)

    Thanks again!

  4. Printing should work now! Tested with Firefox.

  5. Echoing the previous comments, this is by far the best quickstart I’ve been able to find for running SVN on Mac OS X. Thank you very much.

  6. I’d just like to say thank you for writing this straight forward tutorial. This is the first tutorial that I have came across that makes perfect sense and allowed me to get started!

  7. Like others here I looked at a bundle of other ‘quick-start’ tutorials but found none that really seemed to explain subversion as well as you have done here.

    I am now ready to roll up my sleeves and begin playing around with subversion - thanks!

  8. Your tutorial helped me a lot too. Thank you for your time.

  9. Thanks lots for this. On the GUI front, I am looking/

  10. Hi, Can you help me?

    I’ve changed the .bash_profile file as you have said. It now looks like this:
    ————————-
    export PATH=/user/local/bin:$PATH

    # Setting PATH for MacPython 2.5 # The orginal version is saved in .bash_profile.pysave
    PATH=”/Library/Frameworks/Python.framework/Versions/Current/bin:${PATH}”
    export PATH
    ————————-

    But the svnadmin is returning a ‘command not found’ message. I’m guessing this might have something to do with the Python path thing (I played around with Python a while back but never really use it). I’ve tried your line of code at the start and end of the file, but not luck.

    Any assistance much appreciated.

  11. Hi Olly,

    your .bash_profile should work. Are you sure you installed svn correctly? Try calling it directly with it’s full path: “/usr/local/bin/svnadmin”

    If that doesn’t work, you can search your hard disk like this:
    “find / -name svnadmin”

  12. Here is what I get when I type in it’s full path.

    Le-Big-Mac:~ Olly$ /usr/local/bin/svnadmin
    Type ‘svnadmin help’ for usage.
    Le-Big-Mac:~ Olly$ svnadmin help
    -bash: svnadmin: command not found
    Le-Big-Mac:~ Olly$

    Sorry to bother you, but can you advise what this means? I’m new to *nix and Subversion and really need to learn it quick!

    Many thanks for any assistance.

  13. I found it, it’s really simple: a typo in your .bash_profile

    Make sure you change the faulty line:

    export PATH=/user/local/bin:$PATH

    to:

    export PATH=/usr/local/bin:$PATH

    That should be it!

  14. Groovy! Thanks for your help.

  15. How do I uninstall this client?

  16. Nick: most unix tools don’t include an uninstall script by default. In this case look inside the package and see what files are included, then delete by hand.

    Or just delete every file in /usr/local/bin and /usr/local/share/man that starts with “svn”. It’s not necessary though. Subversion uses only very little space on your hard disk and does not interfere with your system.

  17. i have been a newbie to command line stuff and i have been struggling with working through the begining of the instructions - at the ..bash_profile i kept getting

    -bash: ..bash_profile: command not found

    until i realized rather by accident that there was meant to be a space between the two dots. a note in the instructions to that would have been helpful, other than that things work like a gem.

    thanks, ciao,

  18. Very, very good tutorial. Thank you very much.

  19. Thanks for all your friendly comments! It’s good to see that this tutorial is helpful for so many people.

  20. Oh man, I just spent an hour trying to set my path. This page was the first one that said to type the . .bash_profile. Worked like a charm after that. Thanks a lot!

  21. It work!!!… I having issues trying to updates files in my repository SCPlugin with authentication… but working with command line reveals the problem… for some reason (I don’t know why yet) my subversion is trying to use my username in mac os x to upload the files, but I use another username in the repository. Anybody knows how to change the default username? (mac os x 10.4.11)

  22. Thanks - I’ve been meaning to get to grips with svn for ages, and it’s not too difficult after all!

  23. How i can commit just one file?

  24. Carlos: Yes, that’s standard behaviour for most shell commands. You should be able to provide your username in the the subversion configuration file or use “-l username” directly when connecting from command line.

    Trainme: to commit just one file, just specify the file name!

    svn commit myfilename -m “Just one file!”

  25. thank’s for this tutorial … it has been very helpful since svnX seems not to work with mac osX.5 … at least the terminal performs quite well the same ..
    ^^

    ed.

  26. excellent. excellent. thank you!!
    was wondering if someone here can help: i’d like to keep both a local and remote repository. is there a way to commit to a local repository and then replicate the local server copy to a remote location. thx.

  27. I don’t see how duplicating a repository would be useful, if not even harmful - unless it’s for reasons of backup. In that case simply copy the repository folder to the remote location via ftp or rsync…

  28. Excellent article, nice and easy :)

  29. Thank you very much for this tutorial. Your work is very much appreciated!

  30. This tutorial is still very nice indeed. Thank you for making subversion an easy start! :)

  31. Great tutorial, thanks a lot :)

  32. Thanks for the tutorial, it was very helpful.

    I’m looking at Xcode 3.1 and it seems that all of most of the commands in the tutorial are duplicated in the SCM menu (add, commit, etc.). Is that the case? If so, can I skip learning the terminal commands (although of course learning the concepts) and rely on the Xcode 3.1 SCM menu?

  33. I have an external drive called ‘SVN’ that I’d like to use as my repository (feeling it’s best to have it somewhere other than my local machine), but I don’t know how to set this drive as my repository. Can anyone help with the proper commands? Thanks.

  34. Excellent tutorial. Everything works like a charm, I love it!

  35. I would like to add my voice to the chorus of thankful people. Your tutorial is exactly what I was looking for to get started. Thanks!

  36. Sorry, but after I`ve typed this “svn status” I saw this line “svn: warning: ‘.’ is not a working copy”
    why?! (sorry for my English) and how can I correct it?

  37. Arthur: Make sure are in the directory of your working copy, before calling svn commands: ‘cd test-copy’

  38. Thanks for the great tutorial. Really the best one out there!

  39. Thanks, great help!

  40. I think it would be helpful to potential downloaders to mention that installer Subversion-1.6.1.zip is Intel-only. The installer did not check the machine architecture or give any warnings, it just installed useless Intel binaries on my PowerPC Mac. Any chance of a universal version?

  41. … second the last comment :-(
    Warning would be nice, what the best way to uninstall it now? Will this work or is there more files scattered throughout the system:

    rm /usr/local/bin/svn*

  42. … this works fine:

  43. Sorry about the intel-only version. I will try to provide a universal package within the next few days. For now, PPC users are encouraged to download from open.collab.net. (See comment above)

    PS: You don’t have to remove the intel version before installing the universal package, as the files will be overwritten.

  44. This is a great tutorial. The SVN book is good, but it’s nice to have this summary all on one page. Thanks so much.

  45. Good article, very informative, and timely given that you wrote it around SVN 1.6. FYI the cross-platform GUI tool SmartSVN (smartsvn.com) was also updated to work with SVN 1.6, and it’s a really good GUI tool.

  46. Nice article but you might want to reconsider the binary you’re linking to. Yes, I know it appears to be one you’re maintaining but there is another that is much more featureful located here:

    It works on Tiger+, all 4 supported OS X CPU architectures (ppc, i386, ppc64 and x86_64), it includes all language bindings (Java, Perl, Python and Ruby) and includes the Apache modules. Oh…and svnserve is built with SASL support. Not trying be a pain but it might save you some time maintaining it yourself.

  47. OK… I removed the download link to my package from the article and do suggest downloading from Collabnet.

    The goal was to maintain a smaller package that includes only the files necessary for basic Subversion usage, but it doesn’t really make sense spending the time maintaining a package, just to save a few megabytes hard disk space.

  48. Really helpful.
    Deeply appreciate for your work

  49. Thanks for the tutorial! I’ve installed SCPlugin and it works great, but there were some hiccups. SCPlugin allows you to control Subversion from contextual menus in the Finder, making life much easier. But if you’re running Leopard, make sure you disable the Finder’s icon preview option (View —> Show View Options) for any folders that contain files linked to a repository…it screws up SCPlugin’s “badges” that indicate the status of files.

  50. I just found this tutorial. It is very well done but I am having problems.
    Whenever I type in . .bash_profile I get a command not found message, and I am making sure that I include the space. Can you help? it would be much appreciated.

  51. Patrick: make sure 1) the file .bash_profile exists in your home directory, 2) your working directory is your home directory when typing “. .bash_profile”

    Also check if the file’s content is correct, see article above!

  52. I was experiencing troubles with the installation (always getting command not found) and at last, reading and re-reading their documentation, I realized that the guys at collabnet moved all the stuff into /opt/subversion in place of /usr/local/bin. Check their Readme file. I thought it might be convenient you to know it. All the best.

  53. Domenico: thanks for your comment. I have updated the article.

    The path to the Subversion binaries from the Collabnet package is /opt/subversion/bin

    Sorry for everyone who has experienced trouble with this.

  54. Question,
    I would like to work with a friend of mine on a java project (Eclipse).
    The plan is to set up my computer (Mac Pro) as a server (Apache), everything is supposed to go through my computer.
    Is there a chance to get some help how to do this.
    Thank you a lot

  55. How do i set the username and pasword.
    Also is it possible to get anonymous access. If so how do i go about this.

  56. Thanks, this is by far the best tutorial I’ve found.

  57. Absolutely brilliant tutorial. This is the kind of thing I wish I was writing. Fantastic, thanks.

  58. Was thinking of moving to subversion from ClearCase and before that StarTeam for quite a while now. Now I am moving jobs to one that uses it and wanted to get a quick heads up on setting it up locally so I don’t look like a total newb. This quick-start was perfect for me! Thanks so much. One of my biggest pet peeves is tutorials that leave out steps and leave me with bolloxed partially installed packages on my computer. Everything worked like a charm and I am off to figure out how to get MyEclipse to work with my new repository. Thank you again!

    -Grant Gortsema

  59. i am trying to figure out how to checkout my local repository to my web host.

    I cant run a server on this server but i could source control my files this way.

    anybody know how to do that?

  60. Trying to figure out how to share the repository’s files on my Mac with a colleagues Mac. Can work it out. Help anyone?

    ~Josh

  61. Woot! Got me up and running. Thanks for the tutorial!

    It was EXACTLY what I needed :)

    G-Man

  62. Thanks for the great post. I am very new to mac in fact this is my first week . I downloaded the package from Collab.net But just before the installation i read the message and realize that its going to install SubVersion server along with the client. I do all my development on eclipse. I want to keep my google code project insync. Does this mean I still have to install the client and the server both on my mac?

    Thanks
    Anu

  63. Hi Anuradha,

    just go ahead and install both server and client. It doesn’t take up much disk space.

  64. First, I want to echo what everyone else has said about this excellent tutorial. I’ve been flailing around trying to get SVN working for months by various tutorials. I only wish that I had found yours earlier. I don’t know how I didn’t - I guess maybe Google likes you better now. My only suggestion is that you or another contributor might want to make a screencast so the slower people (me) can see exactly what you mean.

    Anyway, the reason I’m writing is to ask your advice on configuring the right SVN set-up for my needs. Here’s my story:

    I have a live managed VPS running Centos 5x with Cpanel WHM, a couple other small shared hosts at different locations, a test server on my on an older Mac running Ubuntu on my LAN, and I develop locally on my MacBook Pro using a combination of Adobe CS3, rubberbands, scotch tape, and I’m interested in learning how to use one of the IDEs likely Apatana. I have various sites on the remote servers obviously, plus the actual Centos configuration of the server itself - though I’m likely to switch hosts to use my growing Ubuntu love.

    I’d like to be able to coordinate all of this (obviously) with SVN - including the actual config of the VPS (I’ve screwed that up a couple times and without a snapshot on hand to roll back to, I’ve had to rebuild from scratch a couple times.

    Right now I’ve got a proliferation of files: one set on the live servers (VPS and others) one set on my test server, plus a set of files and scraps on my laptop. Not only is this wasting tons of storage, it’s also confusing as hell. And presently I’m not developing with anyone else but shortly I’ll need to give others access to the development files.

    I know that this is exactly what version control is supposed to solve, but I just haven’t been able to figure my way through all the ins & outs. I’m sure there are other like me.

    Niko, can you please explain to me using your apparent gift for plain English how I can get this under control? How do I manage and sync everything properly and consolidate all my resources. If you don’t have the time or energy to talk me through this, maybe you could point me to another web resource?

    Thanks again.

  65. Man! Awesome! All that I needed.

  66. Great choice by picking Subversion. I use Subversion myself, and the reason why I like it the most is because Subversion tracks structure of folders. In my opinion, it is the best version control system out there. Good luck with it

  67. Great work !!!!

    But i just want to know that , is there any need to create trunk folder while setting up svn repository for the project as many people suggest to do so. But you haven’t shown any steps regarding trunk. Please suggest me related to same.

    Regards
    Vivs

  68. Vivs,

    Not sure if that’s the reason.. but creating a trunk folder makes it easy to create branches of your project.

  69. I need to completely delete/erase subversion and reinstall. I know nothing, I’m stupid, I’ll admit it, so I would REALLY appreciate step-by-step instructions on how to do this, without any of the geek lingo. A “How to remove Subversion from your Mac for the Complete Idiot” sort of thing — it would probably become wildly popular.

    Tah.

  70. Martin, just reinstall Subversion from the package. As for the repositories, they are just folders you can delete in the finder.

  71. Great article - SVN used to be foggy but this has really helped!

    I agree with some of the comments that technical requirements for the binaries and versions should be written into the article.

    Luckily I have an Intel machine and all worked fine.

  72. Thanks for a wonderful article.

    I have a question. How can we access this repository remotely? On the local machine, where you’ve setup the svn repository, it can be accessed using file:/// but this doesn’t work if the repository is on a remote machine (in my case, running Mac OS X 10.4) - IF YOU MOUNT THE REMOTE MACHINE’S DRIVE. How can i access this repository remotely? Any idea?

  73. Mustafa: To access remotely, you can i.e. set up apache to serve svn.

    Or, much easier, if you can access the svn server via ssh, install the svn client on your client machine and checkout via
    “svn co svn+ssh://your.remote-server.com/path/to/svn/repo”

  74. Thanks, appreciated.

  75. thanks for the “Hello World” demo, that was great help!!

    I’ve a question - what was that I downloaded from collabnet and then modified my .bash_profile? You said it would add some commandline tools, but all the command you used in here were already working like ‘svnadmin’ and ‘svn’

  76. Hello,
    This is nice tutorial. For begginer or people who don’t like Terminal.app, SPMPT make this job as well. It’s a package which include Subversion server, Trac (edgewall) and python mod_python. It’s works out of the box.

  77. Thanks for this terrific tutorial! I’ve wanted to learn how to use subversion for a while but couldn’t wrap my head around it until I read your article.

    I’m still a little unclear on real world application of subversion. For example, how would one use subversion in editing a wordpress theme? Would you create a repository for the entire wordpress installation or just the theme files?

    Thanks,
    matt

  78. Thank you very much for this informative tutorial. I wish you prosperity in your endeavours

  79. I’m still a little unclear on real world application of subversion. For example, how would one use subversion in editing a wordpress theme? Would you create a repository for the entire wordpress installation or just the theme files?

  80. I would recommend adding the path to the command line prompt in your examples.

    Running the commands in the wrong directory causes errors… your tutorial doesn’t help me get around this.

    Adding the path would make things far clearer.

    Thanks.

  81. Good article thank you!
    Been a real help!

  82. it is the best version control system out there. Best Regards

  83. Great article. I always like reading insight on Mac stuff. Call me a geek.

  84. Thank you so much for the instructions.

    BTW, You did a typo in the begin of your article.

    About This Tuturial <—

    I hope that helps.

  85. Bonjour et merci pour les informations bonne continuation

  86. Great novice tutorial — thank you!!

  87. I ran into an error

    svn: no such table: rep_cache

    However, the advice at this site seems to be helpful:

    Bruce

  88. i spent 4 hours yesterday to understand and set up subversion on mac and windows. I could have done it in 5 minutes if i had find your wonderfull tuto before.
    Thanks anyway !

  89. I have written a blog post about graphical user interfaces for svn on Mac OS X .
    I coud not find a satisfying non-commercial all in one solution. Hints to better solutions are greatly appreciated.

  90. Thanks this was very helpful!

    I have one (sorta dumb question I think) question. Does anything ever change in the original test directory that the working copy is made from? Is there something that should happen to that directory after committing?

  91. Dave, you can delete the original directory after it has been imported into the repository, files in this directory will not be changed.

  92. Very very useful!

  93. i want to connect apache+svn, and to do so you need to add these two lines in httpd.conf

    LoadModule dav_svn_module /opt/subversion/lib/svn-apache/mod_dav_svn.so

    LoadModule authz_svn_module /opt/subversion/lib/svn-apache/mod_authz_svn.so

    but i always get an error
    ./apachectl: line 78: 1913 Segmentation fault $HTTPD -k $ARGV

  94. Excellent Stuff!

    Always nice to find easy tutorials on the web. This helped me a lot.

    Thanks a bunch!

    Pierre

  95. This is an excellent tutorial, but you should update it.

    Subversion is now (10.5 at least) installed on every Mac OSX. The installation instructions you give are now not needed. You could give instructions on updating subversion, but it probably doesn’t need to be the first thing you discuss.

  96. Really an excellent tutorial, like it. Thank you.

    Have subversion installed and svnx works like a charm

  97. Thanks for this tutorial.
    But it didn’t work for me. I installed the latest svn. When i try to create a new text file called ‘.bash_profile’, terminal says „command not found”. Also i was not succesful in adding svn location to my path. When i type svn help i can see it’s still the older version which is integrated in Mac OS. What do you mean with pico editor? It’s launched in terminal via „pico filename”?

  98. Still relevant after all this time. Was looking for the proper syntax for an svn export and happily stumbled across your post. Thanks!

  99. Hi,

    Just getting started with SVN and this tutorial looks just what I need. One question though: how would I set up a NAS to contain the repository rather than my local machine? My NAS is raid-enabled so much safer for the core files.

    Thanks

    John

  100. Hey John,
    if your NAS is not able to run a svn-server itself, synchronizing via rsync should work.
    Regards

  101. easy and concise read. a good refresher of Revision Management and intro to subversion. I am still dumbfounded about an overall revision on a set of files, a build revision ?

    thanks .

  102. Latest MAC OS X Subversion 1.6.17 Binaries now available from WANdisco here:

  103. Thank you! Nice tutorial

  104. very nice tutorial. Thank you! i will try the SVN function within Textmate too :)

  105. You rock dude, nice tutorial

  106. Just too brilliant!! Thanks a lot for the tutorial!!

  107. Finding this kind of tutorials is rare. thank you so much for taking the time to write this with such detail and consideration, you have no idea how much you have helped me. once again, thank you!

  108. Fantastic Tutorial!! Thanks

    All the GUI clients seem so expensive for a small time coder.

    1 quick question, is there a quick way to add a complete project i.e. initial commit instead of adding individual files?

    Thanks again,
    Gary

  109. Sorry for my incompetence,

    I thought the import statement was used for a single file. After reading through the tutorial again the penny dropped.

    Once again thanks for an amazing tutorial.

    Gary

  110. Really good. Thank yo very much for your contribution.

  111. This tutorial is a welcome change from the usual half-explanantions, unstated assumptions and missing caveats one normally encounters with any software download and implementation instructions. Thus, I turn to you for possible guidance. I am having one problem beyond the scope of the tutorial. I have Eclipse GUI downloaded and the Collabnet Subversion software. Everything checks out and they seem be aware of each other, but I can’t get Eclipse to work with the repository in the manner my instructions suggest. For example, it took me a lot of trial and error just to get the SVNrep to show up at all in Eclipse. I’m still not sure it is set up properly. One reason is that I can’t get it to access/checkout any files even though the terminal access indicates they have been imported.

    Do you have any suggestions for decent instructions on setting up and working with Eclipse/Subclipse?

  112. Brilliant tutorial, thank you for that !
    Now I have a question regarding your example.

    Assume I have this test folder that I imported into the repository. And this test copy that I checked out immediately after to work on it on my local machine.
    I would like to save this test copy as a snapshot (maybe with different features than the original test ) and under a different name on the repository so that John or Jane can look at it and give me their opinion. Can I Just use an “import” on my test copy to incorporate it on the repository ? Every commit will be only related to that copy or will also affect the original test ?
    How should I do that?
    Thank you !

  113. Great tutorial, very helpful.

  114. Thanks for these nice and simple instructions. I was trying to use Versions for Mac but I did not find it very user friendly. Command line instructions for me for now.

  115. First of all thanks for the nice tutorial.

    My problem is I am able to create a repository from terminal. When I try to import project from SVN in SVN at that time it gives an error “Unable to open ra_local session URL”. What to do now?

    Any help would greatly appreciated.

    Thanks in advance.
    :Malay

  116. I came across this post while trying to find a quick start guide for Subversion for my Mac. I have to say, this is a shining example of what a straightforward and clearly written tutorial should be like! Thank you for writing it!

  117. Very helpful !!

  118. I Fully understand what your position in this matter is. Even if I may disagree on some of the finer aspects, I think that you did fantastic job outlining it. Without a doubt beats the need to study it on my own. Cheers. dd1

  119. This was incredibly helpful. Thank you.

  120. There is no need to install subversion from other sources. Xcode already includes it.

    /Applications/Xcode.app/Contents/Developer/usr/bin/svn
    Add it to you local bin directory and it should work just like described above.

    sudo ln -s -v /Applications/Xcode.app/Contents/Developer/usr/bin/svn /usr/local/bin/svn

  121. The tutorial indeed looks very nice.
    However, I’m stuck already at the beginning before managing to install Subversion from CollabNet.

    After downloading the package and accepting the licence agreement, the installation tool doesn’t allow me to select the destination account where to install the software (the “continue” button remains grey).

    Any solutions?