Si comme moi vous avez des problèmes avec un projet dont le checkout a été effectué avec un svn 1.5, ne vous inquiétez pas, vous n'êtes pas condamné à utiliser svn 1.0 toute votre vie.
Vous vous retrouvez normalement avec un projet Xcode où le SCM semble ne pas voir le serveur, en fait le message retourné est le suivant (pour voir ce message Menu SCM | Update entire project).
Error: 155021 (Unsupported working copy format)
Description: This client is too old to work with working copy 'PATH'; please get a newer Subversion client
Apple ne nous a toutefois pas simplifié la vie, en effet le plugins svn pour Xcode est linké directement aux librairies svn de /usr/lib, voici ce que retourne la commande otool:
otool -L /Developer/Library/Xcode/Plug-ins/XcodeSubversionPlugin.xcplugin/Contents/MacOS/XcodeSubversionPlugin
/Developer/Library/Xcode/Plug-ins/XcodeSubversionPlugin.xcplugin/Contents/MacOS/XcodeSubversionPlugin:
/System/Library/Frameworks/Foundation.framework/Versions/C/Foundation (compatibility version 300.0.0, current version 677.12.0)
@rpath/DevToolsSupport.framework/Versions/A/DevToolsSupport (compatibility version 1.0.0, current version 1160.0.0)
@rpath/DevToolsCore.framework/Versions/A/DevToolsCore (compatibility version 1.0.0, current version 1160.0.0)
/usr/lib/libapr-1.0.dylib (compatibility version 3.0.0, current version 3.7.0)
/usr/lib/libaprutil-1.0.dylib (compatibility version 3.0.0, current version 3.7.0)
/usr/lib/libsvn_client-1.0.dylib (compatibility version 1.0.0, current version 1.0.0)
/usr/lib/libsvn_delta-1.0.dylib (compatibility version 1.0.0, current version 1.0.0)
/usr/lib/libsvn_diff-1.0.dylib (compatibility version 1.0.0, current version 1.0.0)
/usr/lib/libsvn_fs_fs-1.0.dylib (compatibility version 1.0.0, current version 1.0.0)
/usr/lib/libsvn_fs-1.0.dylib (compatibility version 1.0.0, current version 1.0.0)
/usr/lib/libsvn_ra_local-1.0.dylib (compatibility version 1.0.0, current version 1.0.0)
/usr/lib/libsvn_ra_svn-1.0.dylib (compatibility version 1.0.0, current version 1.0.0)
/usr/lib/libsvn_ra-1.0.dylib (compatibility version 1.0.0, current version 1.0.0)
/usr/lib/libsvn_repos-1.0.dylib (compatibility version 1.0.0, current version 1.0.0)
/usr/lib/libsvn_subr-1.0.dylib (compatibility version 1.0.0, current version 1.0.0)
/usr/lib/libsvn_wc-1.0.dylib (compatibility version 1.0.0, current version 1.0.0)
...
Deux solutions à envisager, écraser les librairies de /usr/lib avec des versions plus récentes, ou changer les chemins dans le plug-in, la seconde a ma préférence, car elle est moins intrusive pour le système.
Ouvrez un terminal et faites une copie du plugins svn:
cp /Developer/Library/Xcode/Plug-ins/XcodeSubversionPlugin.xcplugin/Contents/MacOS/XcodeSubversionPlugin /Developer/Library/Xcode/Plug-ins/XcodeSubversionPlugin.xcplugin/Contents/MacOS/XcodeSubversionPlugin.bak
Puis tjs dans le terminal copiez collez ces lignes, qui modifient le chemin où trouver la librairie, (ici c'est /opt/local/lib car j'utilise le subversion de macports, le votre est peut être dans /usr/local/lib)
install_name_tool -change /usr/lib/libsvn_client-1.0.dylib /opt/local/lib/libsvn_client-1.0.dylib /Developer/Library/Xcode/Plug-ins/XcodeSubversionPlugin.xcplugin/Contents/MacOS/XcodeSubversionPlugin
install_name_tool -change /usr/lib/libsvn_delta-1.0.dylib /opt/local/lib/libsvn_delta-1.0.dylib /Developer/Library/Xcode/Plug-ins/XcodeSubversionPlugin.xcplugin/Contents/MacOS/XcodeSubversionPlugin
install_name_tool -change /usr/lib/libsvn_diff-1.0.dylib /opt/local/lib/libsvn_diff-1.0.dylib /Developer/Library/Xcode/Plug-ins/XcodeSubversionPlugin.xcplugin/Contents/MacOS/XcodeSubversionPlugin
install_name_tool -change /usr/lib/libsvn_fs_fs-1.0.dylib /opt/local/lib/libsvn_fs_fs-1.0.dylib /Developer/Library/Xcode/Plug-ins/XcodeSubversionPlugin.xcplugin/Contents/MacOS/XcodeSubversionPlugin
install_name_tool -change /usr/lib/libsvn_fs-1.0.dylib /opt/local/lib/libsvn_fs-1.0.dylib /Developer/Library/Xcode/Plug-ins/XcodeSubversionPlugin.xcplugin/Contents/MacOS/XcodeSubversionPlugin
install_name_tool -change /usr/lib/libsvn_ra_local-1.0.dylib /opt/local/lib/libsvn_ra_local-1.0.dylib /Developer/Library/Xcode/Plug-ins/XcodeSubversionPlugin.xcplugin/Contents/MacOS/XcodeSubversionPlugin
install_name_tool -change /usr/lib/libsvn_ra_svn-1.0.dylib /opt/local/lib/libsvn_ra_svn-1.0.dylib /Developer/Library/Xcode/Plug-ins/XcodeSubversionPlugin.xcplugin/Contents/MacOS/XcodeSubversionPlugin
install_name_tool -change /usr/lib/libsvn_ra-1.0.dylib /opt/local/lib/libsvn_ra-1.0.dylib /Developer/Library/Xcode/Plug-ins/XcodeSubversionPlugin.xcplugin/Contents/MacOS/XcodeSubversionPlugin
install_name_tool -change /usr/lib/libsvn_repos-1.0.dylib /opt/local/lib/libsvn_repos-1.0.dylib /Developer/Library/Xcode/Plug-ins/XcodeSubversionPlugin.xcplugin/Contents/MacOS/XcodeSubversionPlugin
install_name_tool -change /usr/lib/libsvn_subr-1.0.dylib /opt/local/lib/libsvn_subr-1.0.dylib /Developer/Library/Xcode/Plug-ins/XcodeSubversionPlugin.xcplugin/Contents/MacOS/XcodeSubversionPlugin
install_name_tool -change /usr/lib/libsvn_wc-1.0.dylib /opt/local/lib/libsvn_wc-1.0.dylib /Developer/Library/Xcode/Plug-ins/XcodeSubversionPlugin.xcplugin/Contents/MacOS/XcodeSubversionPlugin
install_name_tool -change /usr/lib/libaprutil-1.0.dylib /opt/local/lib/libaprutil-1.0.dylib /Developer/Library/Xcode/Plug-ins/XcodeSubversionPlugin.xcplugin/Contents/MacOS/XcodeSubversionPlugin
install_name_tool -change /usr/lib/libapr-1.0.dylib /opt/local/lib/libapr-1.0.dylib /Developer/Library/Xcode/Plug-ins/XcodeSubversionPlugin.xcplugin/Contents/MacOS/XcodeSubversionPlugin
Vivement Xcode 3.2 qui lui est linké à Subversion 1.5 (Xcode 3.2 sera disponible avec Snow Léopard).