About Features Downloads Getting Started Documentation Events Support GitHub

Love VuFind®? Consider becoming a financial supporter. Your support helps build a better VuFind®!

Site Tools


Warning: This page has not been updated in over over a year and may be outdated or deprecated.
legacy:vufind_1.x_developer_manual:subversion

This is an old revision of the document!


Subversion

Subversion is a popular version control system used by the VuFind developers to manage the development of the project.

You can use Subversion at several levels: you can export code from the public VuFind repository as an easy way of loading it onto a server, you can check out code from the public repository in order to see its history and (with proper permissions) contribute changes, or you can run your own local Subversion repository to manage your local changes through the vendor branching strategy.

Subversion is a powerful and useful tool, and it's worth taking the time to learn about it if you expect to be doing complex customization of VuFind. The free Version Control with Subversion book is a great starting point.

Exporting from Subversion

When you want to get the latest files out of a Subversion repository without also loading all of the metadata about their history, you perform an export operation. This is the appropriate option when you want to deploy code to a server and do not expect to make any modifications directly on that server.

The command to export VuFind's latest code is simple:

svn export https://vufind.svn.sourceforge.net/svnroot/vufind/trunk vufind

Notes:

  • “vufind” is the directory where you want the code to end up.
  • You can add a –force switch if you want to overwrite any existing files in the vufind directory.

Initial Checkout

You check out code from a Subversion repository when you plan on changing it and want to keep track of its history. There are several popular Subversion clients that simplify the checkout process, including Eclipse (with Subclipse), Tortoise SVN and Rapid SVN. If you don't want to use a fancy graphical tool, there's also the good ol' command line.

Command Line Checkout

Change to the directory where you want to work on your Vufind instance and then run this command:

svn co https://vufind.svn.sourceforge.net/svnroot/vufind/trunk vufind

This will check out the Vufind source into a folder named vufind.

Vendor Branching

Vendor branching is a useful strategy for merging changes to an external project (i.e. VuFind) with changes to a local project (i.e. your own VuFind-based catalog). In other words, it's a way of keeping up with external developments without having to rewrite all of your local changes. To take advantage of this, you need your own Subversion server. The general idea is that when you set up your project, you should first create a “vendor” directory and populate it with the third party code. The “trunk” directory that you do your development in should be established as a copy of the “vendor” directory. Whenever the vendor code changes, you load the latest third-party code into the “vendor” directory and then combine those changes with your customized “trunk” by using Subversion's powerful merging capabilities. The more often you merge, the easier it will be to keep your customizations intact.

It sounds complicated at first, but it makes more sense when you understand version control in general. This is highly recommended if you plan on maintaining a complex VuFind installation over the long term! For more details, see the vendor branching chapter of the very helpful Version Control with Subversion book.

legacy/vufind_1.x_developer_manual/subversion.1258559383.txt.gz · Last modified: 2014/06/13 13:13 (external edit)