Subversion: Not Just for Code Anymore
or by using svn cat to download a single file:
$ svn cat -r 1563 http://$MY_SERVER/docs/pics/beach.jpg
If you're going to use autoversioning to mount your repository under Linux, you need to install davfs. Once it is installed, mounting the repository is easy. All you need to do is run mount.davfs, like in the following example, which mounts the repository $MY_SERVER/docs at /mnt/documents:
$ mount.davfs http://$MY_SERVER/docs/ /mnt/documents
Before you can use autoversioning though, you also have to turn it on in Apache. To do that, you need to add the SVNAutoversioning on option to your <Location> directive for the Subversion repository.
Subversion is a system with a large feature list, many of which I haven't even touched on. You should know enough now to get started with versioning your files though. I've been using it for my files for a while now and find it to be very helpful. I find it especially useful when used with autoversioning, which makes it an almost seamless integration with the filesystem.
Resources for this article: /article/8751.
Connecting from OS X
Okay, I admit it. I'm a Mac guy. As a Mac guy, my PowerBook gets a lot of use on my home network, so being able to access my files from there easily is pretty important to me. Fortunately, Subversion makes my life easy here. Subversion runs on OS X just as easily as it does on Linux, and it is a breeze to install. If you use the Fink package management system for installing open-source software on your Mac, you can install Subversion from there, or you can get standalone binaries.
If you decide to take advantage of autoversioning, you'll also be very pleased with OS X. Mounting an autoversioned repository is as easy as selecting Connect to Server... from the Finder's Go menu and entering the repository's URL. The repository will be mounted in /Volumes, and it will appear on the desktop as a mounted network share.
Connecting from Windows XP
Whether you use it for games, work, placation of a less-technical spouse or just because you like it, the chances are pretty good that there's at least one Windows machine on your network. The good news is that Subversion was designed as a cross-platform application and is very well supported under Windows. Precompiled binaries of the command-line client are available from the Subversion downloads page. Additionally, there is an excellent GUI client for Windows that integrates with the Windows Explorer, called TortoiseSVN.
Windows XP also supports autoversioning through WebFolders, although you'll want to use the old Explorer-extension version of WebFolders rather than the newer version that was introduced with WinXP, as the new version suffers from incompatibilities. To connect to a repository you simply need to add a new network place and enter the repository URL, with the port number appended. For example, to connect to a repository at example.com/documents, you'd use the URL http://example.com:80/documents.
William Nagel is the Chief Software Engineer for a small technology company, and the author of Subversion Version Control: Using the Subversion Version Control System in Development Projects. He can be reached at bill@williamnagel.net.
- « first
- ‹ previous
- 1
- 2
- 3
Realizing the promise of Apache® Hadoop® requires the effective deployment of compute, memory, storage and networking to achieve optimal results. With its flexibility and multitude of options, it is easy to over or under provision the server infrastructure, resulting in poor performance and high TCO. Join us for an in depth, technical discussion with industry experts from leading Hadoop and server companies who will provide insights into the key considerations for designing and deploying an optimal Hadoop cluster.
Sponsored by AMD
Built-in forensics, incident response, and security with Red Hat Enterprise Linux 6
Every security policy provides guidance and requirements for ensuring adequate protection of information and data, as well as high-level technical and administrative security requirements for a system in a given environment. Traditionally, providing security for a system focuses on the confidentiality of the information on it. However, protecting the data integrity and system and data availability is just as important. For example, when processing United States intelligence information, there are three attributes that require protection: confidentiality, integrity, and availability.
Learn more about catching the bad guy in this free white paper.
Sponsored by DLT Solutions
| Dynamic DNS—an Object Lesson in Problem Solving | May 21, 2013 |
| Using Salt Stack and Vagrant for Drupal Development | May 20, 2013 |
| Making Linux and Android Get Along (It's Not as Hard as It Sounds) | May 16, 2013 |
| Drupal Is a Framework: Why Everyone Needs to Understand This | May 15, 2013 |
| Home, My Backup Data Center | May 13, 2013 |
| Non-Linux FOSS: Seashore | May 10, 2013 |
- RSS Feeds
- Making Linux and Android Get Along (It's Not as Hard as It Sounds)
- Using Salt Stack and Vagrant for Drupal Development
- Dynamic DNS—an Object Lesson in Problem Solving
- New Products
- Validate an E-Mail Address with PHP, the Right Way
- Drupal Is a Framework: Why Everyone Needs to Understand This
- A Topic for Discussion - Open Source Feature-Richness?
- Download the Free Red Hat White Paper "Using an Open Source Framework to Catch the Bad Guy"
- Tech Tip: Really Simple HTTP Server with Python
- Roll your own dynamic dns
1 hour 2 min ago - Please correct the URL for Salt Stack's web site
4 hours 13 min ago - Android is Linux -- why no better inter-operation
6 hours 28 min ago - Connecting Android device to desktop Linux via USB
6 hours 57 min ago - Find new cell phone and tablet pc
7 hours 55 min ago - Epistle
9 hours 24 min ago - Automatically updating Guest Additions
10 hours 32 min ago - I like your topic on android
11 hours 19 min ago - This is the easiest tutorial
17 hours 55 min ago - Ahh, the Koolaid.
23 hours 33 min ago
Enter to Win an Adafruit Pi Cobbler Breakout Kit for Raspberry Pi

It's Raspberry Pi month at Linux Journal. Each week in May, Adafruit will be giving away a Pi-related prize to a lucky, randomly drawn LJ reader. Winners will be announced weekly.
Fill out the fields below to enter to win this week's prize-- a Pi Cobbler Breakout Kit for Raspberry Pi.
Congratulations to our winners so far:
- 5-8-13, Pi Starter Pack: Jack Davis
- 5-15-13, Pi Model B 512MB RAM: Patrick Dunn
- 5-21-13, Prototyping Pi Plate Kit: Philip Kirby
- Next winner announced on 5-27-13!
Free Webinar: Hadoop
How to Build an Optimal Hadoop Cluster to Store and Maintain Unlimited Amounts of Data Using Microservers
Realizing the promise of Apache® Hadoop® requires the effective deployment of compute, memory, storage and networking to achieve optimal results. With its flexibility and multitude of options, it is easy to over or under provision the server infrastructure, resulting in poor performance and high TCO. Join us for an in depth, technical discussion with industry experts from leading Hadoop and server companies who will provide insights into the key considerations for designing and deploying an optimal Hadoop cluster.
Some of key questions to be discussed are:
- What is the “typical” Hadoop cluster and what should be installed on the different machine types?
- Why should you consider the typical workload patterns when making your hardware decisions?
- Are all microservers created equal for Hadoop deployments?
- How do I plan for expansion if I require more compute, memory, storage or networking?




Comments
Labels for certain important changes
Hi
Good article. However, I was missing a little paragraph about labelling some important versions of a file. For example, I am trying to modify my grandmother’s cake receipt. I made some changes and I got a good receipt, but still I am not totally satisfied. I would like to save this version of the receipt with a label "good-enough" and continue trying. Can I do this? How do I do it?
Greetings
Alvaro.
Re: Labels for certain important changes
Thanks, I'm glad you enjoyed the article.
Creating a "label" of a version of your file couldn't be easier. All you have to do is make a copy of the file and rename it to whatever you want. Subversion uses what it calls "cheap copies" when you make a copy of a file in the repository. Basically what that means is that it doesn't really make a copy of the file. Instead all it does is make a new entry under the new filename that points back to the revision of the original file from which it was created, which uses almost zero extra space on disk.
Assuming you are using WebDAV, you can do the copy by just copying the file as you would any other file and Subversion will "do the right thing" (don't create the copy by using Save As from the text editor though, as that will create a copy of the file's contents in the repository). On the other hand, if you're using a working copy of the repository you can do the copy from the command line using "svn copy" followed by "svn commit".
import syntax
I think you need to use file:/// (3 /'s instead of 2) when not including a hostname.
Awesome article. I really want to try the webdav stuff.
phil
Re: import syntax
I think you need to use file:/// (3 /'s instead of 2) when not including a hostname.
You are correct. However if you look back at the article you'll notice that I use $HOME, which includes the leading slash so that
file://$HOMEwill expand tofile:///home/bill(with the correct number of /'s).Awesome article. I really want to try the webdav stuff.
Thank you very much! I'm glad you enjoyed it and I with you luck with getting WebDAV going.