This post is from the CollabNet VersionOne blog and has not been updated since the original publish date.
Ten Reasons to Upgrade Your Subversion Server
In the earliest days of Subversion Edge, when we were planning out the short and long term roadmap for the product, the one true release defining feature for the first release was an integrated web-based update feature. We wanted to have a way to easily notify you of available updates and let you install those updates right from your web browser without needing direct access to the server itself. We were inspired for this feature by Jenkins, which has this feature and we loved from our usage of that tool. We knew if we had a way to easily deliver updates then it would give us a foundation for quickly pushing out new releases with fixes and features and it would better support our iteration-based development process. Since the initial release in June 2010 we have turned the release crank 18 times or roughly once every 6 weeks. If you factor in all of these releases across all of the users of Subversion Edge that amounts to hundreds of thousands of updates successfully delivered.
At this pace of change, I realize that not every user installs every update. Servers are often being used by a lot of clients, and even though the update process is simple and quick it might be something you want to plan for after hours or you might just have general concerns about changing something that you do not consider broken. That said, consider that if you are not running the latest release of Subversion Edge, which is currently 3.0.1, you might be missing out on some pretty compelling reasons to update to the latest version. With that in mind, here are ten reasons you should upgrade to the latest release of Subversion Edge:
1. New User Interface
This is not the most important reason to update, but since we just recently overhauled the user interface I thought it was important to point this out first so that you are prepared for the change. The new user interface uses modern HTML5/CSS3 and is ideally used in a modern browser such as IE 9, Chrome, Firefox or Safari. Notably, it does not work with IE 6, which even Microsoft is begging users to leave see: http://www.ie6countdown.com/.
The new user interface has been well received. You can see a screenshot gallery here.
2. Latest Apache Subversion Release
Depending on the version of Subversion Edge you have installed, you might still be using Subversion 1.6. Subversion 1.7 came out last year and if you have not upgraded, why not? It offers significant performance improvements to Subversion 1.7 clients and even if you have some old clients you cannot upgrade, those older clients will work fine with the newer server version. You do not need to upgrade your clients in order to upgrade the server. You get some performance benefits if you do upgrade them both, but it is not a requirement.
The current version of Subversion that is included is 1.7.5 and the Apache HTTP Server is 2.2.22. Both of these products have fixed various exploits and security vulnerabilities in recent releases and there have also been fixes for things like Subversion repository corruptions. You should upgrade soon for these reasons alone.
Finally, a lot of Subversion Edge users run on Windows servers and desktops. When we started providing Subversion 1.7 we also upgraded our build process so that we now provide true 64-bit Windows binaries when you install on a 64-bit Windows OS. The entire stack we deliver, including the Python runtime, is compiled with Visual Studio 2010 for 32 or 64-bit versions of Windows XP or later.
3. Cloud Services
Subversion Edge allows you to create a free CollabNet CloudForge account which enables cloud services for your Subversion Edge server. The first available cloud service is cloud-based backup of your Subversion repository content. When you use this option you can configure your repositories to be intelligently and securely synchronized with the CollabNet cloud. Even if you are doing local backups, which is still a good idea, it is nice to have your data safeguarded in another location. All data in CloudForge is additionally backed up and stored offsite for redundancy.
4. Integrated Backup
Speaking of backup, in addition to cloud-based backup, Subversion Edge also supports local backups using the svnadmin dump or hotcopy commands. Backups can be scheduled to run at specific intervals and you can configure multiple backup jobs and schedules per repository. Subversion Edge manages the number of backup jobs that are running concurrently and it will intelligently skip backups when the repository has not changed since the last backup. Combined with cloud backup, this gives you a lot of options for protecting your repository data.
5. Repository Templates
When we added the backup feature we needed to add a restore feature. So when you create a new repository you can choose to initialize the repository from an existing backup. Once we added that feature, this inspired another feature idea. We thought, wouldn’t it be cool if you could just create templates which are essentially just backups of a template repository? So you can now do that. Do you have common hook scripts you always want to use? If so, create a template repository, add whatever content you want to have by default in your new repositories, such as a specific repository layout or perhaps even some common development frameworks. Then setup your standard hook scripts and create a hotcopy backup. Once the backup is finished, you can just download the backup zip file and create a repository template using that file as the content.
When you create new repositories you can then select from any of the templates you have created. We include two default templates with Subversion Edge, one for an empty repository and one for the standard Subversion layout (trunk/tags/branches). Either or both of these can be disabled and replaced with your own versions.
6. Hook Scripts
Speaking of hook scripts, you can now manage them directly from Subversion Edge. Our goal with Subversion Edge has always been to keep you from needing to login to the server directly to configure Subversion. Adding the ability to manage the hooks folder of a repository checks another item off that list. You can delete/copy/rename or edit the content of any files in your repository hooks folder. This allows administrators to manage the hooks directly from the web browser.
7. Additional Repository Actions
You can delete repositories as well as dump/load or verify them from the web UI now. The UI requires you to confirm a delete by typing “I_AM_SURE” into a dialog box. Annoying sometimes, but better than letting someone delete a repository by accident. The dump/load and verify actions can all run for a long time so rather than tie up your browser they run as jobs in the background.
8. Scheduled Jobs
Speaking of jobs, there is a UI for specifically monitoring the status of running jobs as well as seeing the schedule for your configured backup jobs. This is another area where we were inspired by Jenkins. In addition to seeing which jobs are currently running you can peek into their output. For a long running job, such as a repository load as one example, this allows you to see what revision it has most recently loaded and get a sense of the overall progress.
9. Email Notifications
It is nice that you can monitor background jobs from the web UI, but you do not want to have to babysit them either. So we have added email notification support to Subversion Edge. When an adhoc job like a dump or load is finished you will receive an email notification that it is complete. For scheduled jobs, like backups, which run frequently, you only receive email notifications if a job fails for some reason.
10. REST API
Finally, recent versions of Subversion Edge have added a REST API. This allows you to write scripts for performing actions with the console. Perhaps you are migrating users from another system and want to do a mass import or maybe you have a business process you want to automate that involves things like creating a new repository. With the REST API you can now write these sort of scripts and integrations. For more information, see an earlier blog post on the subject.
These are just 10 reasons to upgrade to the latest version that I could name off the top of my head. It does not even include things like general bug fixes and smaller improvements that have made their way into the product. If you have not upgraded your server recently hopefully this will provide you some motivation and encouragement to do so.
Thanks to that feature we added in the original version of Subversion Edge, you should be able to update your server by clicking on the updates notification within Subversion Edge. If you cannot update using this method, we also have simple instructions for what we call a “Manual Upgrade“.
* Apache, Apache Subversion and the Subversion logo are trademarks of the Apache Software Foundation. Subversion® is a registered trademark of the Apache Software Foundation.