====== Overview ====== After several failed attempts to use svn applications on OS X Leopard 10.5, I finally discovered that XCode 3 has SVN+SSH capabilities built in and it's very very easy to setup and use. It will even store your passphrase in your keychain which means you will never have to keep typing it in. The only pitfall to this is that if you ever lose your computer, you should notify TK and have your account removed or your password changed immediately so as not to compromise the security of the midibox svn server. Here's what you do: - [[#Creating a DSA Key|Create a dsa public and private key for SSH]] - [[#Checking the key file location|Make sure your key file is located in the correct location ~/.ssh/]] - [[#Upload your **PUBLIC** key file to the midibox programmers forum|Upload the public key ONLY to the midibox programmers forum (private)]] - [[#Command line test|Once TK has accepted the file and says you are ready to go: Perform a command line test to see that its working for you]] - Start up XCode 3 - [[#Setup SVNMIOS Repository |Click on the menu items SCM -> Configure SCM Repositories and configure a repository for svnmios.]] - Begin using the repository through XCode 3 ===== Creating a DSA Key ===== Use the command line application 'ssh-keygen' to create DSA public and private key files. % ssh-keygen -t dsa -f ~/.ssh/svnmioskey Generating public/private dsa key pair. Enter passphrase (empty for no passphrase): Enter same passphrase again: Your identification has ben saved in ~/.ssh/svnmioskey. Your public key has been saved in ~/.ssh/svnmioskey.pub. The key fingerprint is: ##:##:##:##:##:##:##:##:##:##:##:##:##:##:##:## user@machine.name.local NOTE: Do not create a key with an empty passphrase. If you do lots of reading up on the net about svn and ssh you may come across this suggestion.\\ 1) it doesn't work.\\ 2) even if it did work, you would risking the security of the svn repository.\\ 3) it's an old suggestion at this point.\\ Leopard has all the niceties built in now to make this process go super smooth! ===== Checking the key file location ===== % cd ~/.ssh % ls svnmioskey svnmioskey.pub known_hosts You only need to be sure that the files "svnmioskey" and "svnmioskey.pub" exist. ===== Upload your **PUBLIC** key file to the midibox programmers forum ===== I assume you are doing all of this so that you can get write access to the svn server. So take your snvmioskey.pub file that you created above and send it to the "Programmers Lounge" forum in the "Public key collection" thread. Shortly after TK may tell you that you have been granted access. ===== Command line test ===== Once you have been granted access you can test it by doing the following in a terminal application (terminal.app or iterm.app are good ones) % ssh -i ~/.ssh/svnmioskey -2 svn@midibox.org After entering your passphrase that you used to create the key you will see: ( success ( 1 2 ( ANONYMOUS EXTERNAL ) ( edit-pipeline ) ) ) press ctrl-c to exit and you will see Connection to midibox.org closed. % ===== Setup SVNMIOS Repository ===== click on the menu items SCM -> Configure Repositories\\ {{wiki:svn_xcode:xcode3menubar.jpg?500}} ---- Enter in the information for the midibox svn repository exactly as shown here. But don't click apply just yet.\\ **UPDATE: the URL should now read "svn+ssh://svn@midibox.org/mios".**\\ {{wiki:svn_xcode:xcoderepauth.jpg?500}} ---- Select the SSH tab and make sure that your svnmioskey file is listed there. If it's not, restart Xcode. Enter your passphrase.\\ {{wiki:svn_xcode:xcodesshkey.jpg?500}} ---- Select the Repository tab and click the apply button. It will show that it's testing the connection.\\ In a few seconds another dialog will pop up requesting your passphrase (I don't have an image of it yet).\\ When it's done it will show that it's authenticated.\\ {{wiki:svn_xcode:xcoderepgood.jpg?500}}