Ok, so we've got subversion (v1.3) setup on a Linux machine. Everything is working great for all platforms (Windows & Linux) but the Mac still is posing a major problem. To accomodate designers, we are using the DAV and Autoversioning features of SVN. All the Mac designers have to do is mount the Subversion repository and drag and drop files. To the end user this is working fine, they drop files on to the DAV mount, the files are then auto versioned and auto updated to the development server(using post-commit hook).
The problem is this: each time a file is overwritten (i.e. Modified), the Mac performs a Delete, an Add, and then a Modify. Thus 3 revisions occur for what should be 1 revision. On Windows and Linux, only 1 revision occur (a single Update/Modify). On the Mac it appears that this is caused only by the finder, because if I use the terminal to copy the file to the DAV-SVN mount, only a single transaction is incurred (as expected).
So something about the finder drag&drop causes this behavior. The Finder also performs an Add and a Delete of the "._" resource files. So even though the "._" files are not maintained in the repository, they incur 2 additional transactions (thus 2 additional revision numbers). I can probably use the pre-commit hook to reject all "._" files to prevent these transactions.
This is just one of those annoying problems that one cannot foresee when tackling a project. It is really frustrating though because the revision numbers are growing 3 to 5 times as fast and the extra revisions are just chaff and every time the file is deleted, the revision history is lost for that file.
So, does anyone know how to reduce the number of Subversion transactions incurred when dragging&dropping from Mac finder to SVN-DAV mounted location? I need to get an overwrite to be 1 Update transaction rather than 3 Delete, Add, Update transactions.
Using Mac OSX 10.4.4
Gentoo Linux with Apache 2.1