Report inadequate content

Mac, Subversion in Harecoded

Expand

How to create a patch and apply it with subversion

If you want to create a patch with svn you only have to type in the terminal something like:

svn diff yourproject > yourproject.patch

Where yourproject is the folder containing the modified source code.

Then, to restore the patch (apply the changes stored in patch in a new working copy), copy the patch file yourproject.patch in the machine where you want apply the patch and "cd "to the parent folder containing the yourproject folder (not inside yourproject). Then type:

patch -p0 -i /path/to/yourproject.patch

If you do not respect the same hierarchy when creating and applying the patch then you'll have to play around with the "p0" parameter (gives the entire file name unmodified). Of course the patch command is not related to SVN and you can use it in many other environments.

Expand

SVN merge for Mac OS X

If you want to merge branches in your projects using a Mac OS X, you'll probably miss how straightforward is to do that with the TortoiseSVN client.

Mac has many SVN-fashioned clients where you can fall in love when you see the GUI, but when it comes to do a merge it seems that all they have forgotten to include support for it. I haven't seen any free or comercial application for Mac that integrates all the subversion commands in the same tool without pain. You need always a couple of tools and sometimes use the terminal commands (I do this the most in Mac).

Returning to the specific svn command merge, here are the only tools that you can use to accomplish that task:

Subcommander:

Graphical subversion client with diff and merge tool. http://subcommander.tigris.org/

DiffMerge

Multiplatform utility for merging and comparing: http://www.sourcegear.com/diffmerge/ (not SVN specific)

Guiffy:

Guiffy is a normal diff/merge application, you don't need to use Subversion, but it comes with support for CVS/SVN. http://www.guiffy.com/

And that's all. I've spent many hours looking for more apps, but I haven't found any helping me with the merge integrated with SVN. If you find anything let me know and I'll add it to the list.

UPDATE (Added SmartSVN)

SmartSVN (commercial)

SmartSVN is the most complete solution for Mac I've seen. It runs on Windows and Linux as well. Although it is not a Cocoa application and doesn't accept things like drag and drop it does everything you might need, and speaking about merge:

  • Merge
  • Merge from 2 sources
  • Reintegrate branches

The application allows to create several projects, browse them (very clean and neat), see the logs inside the context, see diffs, resolve conflicts, tags, branches, logs, filters... everything!!!

I don't understand how this application isn't more popular, since is the missing app for advanced mac developers and works on any platform.

If you find anything interesting please let me know and I'll add it in the list.

Expand

Subversion (svn) 1.5 para Mac OS X

SCPluginSi utilizas distintos sistemas operativos y en ellos utilizas versiones distintas de subversion te habrás encontrado alguna vez con el mensaje de error:

svn: This client is too old to work with working copy '.'; please get a newer Subversion client

Si eres usuario de Mac y te ha pasado esto, o simplemente necesitas un cliente svn 1.5 para mac puedes descargarte la última versión de SCPlugin que ya incluye soporte para la 1.5, no es como TortoiseSVN, pero que le vamos a hacer :)

Con SCPlugin no vas cambiar la versión de command line, pero también puedes hacerlo utilizando el package de Martin Ott. Si utilizas algun sistema de ports en MacPorts puedes descargar también la versión de command line y si utilizas Fink, igualmente.