Archive for the ‘Version Control’ Category

Subversion Configuration Suite

Wednesday, 4 July 2012

I’ve now uploaded my Subversion Configuration Suite (svn-meta) repository to Google Code so that the files are publicly available for anyone to use.

Subversion and Unicode

Saturday, 28 April 2012

By default, Subversion tends to regard UTF-16 files as binary. It assigns them a MIME type of application/octet-stream. As a result, when an attempt is made to merge a change from a branched version of the file, there is always a conflict that must be hand-edited.

However, there is a solution. By giving the UTF-16 files a correct MIME type, SVN is able to perform merges just like a basic text file.


SVN Tip: Find/Grep but excluding .svn (Linux)

Saturday, 5 February 2011

Here I give Linux commands to allow the searching for filenames or strings within files without descending into the <.svn> subdirectories.


T-SVN Tip: More Short-cuts

Thursday, 6 January 2011

In a previous post, I described how to set up a desktop short-cut to open your TortoiseSVN repository browser. There are many other uses of the short-cut.


SVN: Problems Applying a Patch Cross-platform

Wednesday, 8 December 2010

Suppose you have a set of changes on a Windows machine ready for commit. However, before committing, you’d like to check compilation on your Linux box. So, you create a patch file with a command such as

C:\my-dir> svn diff > patch.diff

Having copied the patch to your Linux box, you try the command

/home/me/my-dir$ patch -p0 < patch.diff

Unfortunately, you see many problems of the form

Hunk #1 FAILED at 234.

What is wrong?


SVN Tip: Uniform Hook Script Wrappers

Saturday, 31 July 2010

If you have a collection of SVN repositories with common hook scripts, it makes sense to have a single copy of them in a separate directory (say _common_/) alongside the repository directories.

The hook files can then just be ‘wrappers’ that call out to the real scripts. To make things really easy, there’s no reason why those wrappers couldn’t be identical.


SVN: Switch Nodes (compared to Partial Checkouts)

Thursday, 15 April 2010

In my post on partial checkouts in Subversion (SVN) I provided some scripts to assist a method of checking out related projects using subversions ‘depth’ feature, which allows related changes to be ‘co-committed’, i.e. committed together atomically.

In this post I describe an alternative.


SVN: Overcommitment

Thursday, 21 January 2010

In this post, I describe why Subversion sometimes seems to commit too much.


SVN: Managing Third-party Source with Subversion

Tuesday, 19 January 2010

Suppose that you have an SVN repository


in which you have a project


to which you wish to add some source files from a third-party source


(SVN or otherwise). You wish to make some modifications to that source specific to your project, but also to be able to take advantage of any future bug-fixes or enhancements to the 3rd-party source.

Here is a suggestion for how this might be managed.


Sample Repository Layout

Friday, 20 November 2009