The nice thing about Monodevelop is that it has built in support for subversion. The bad thing is that getting that really to work is a real PITA. There is no documentation at all how to set up a Subversion repository and having MonoDevelop (for Mac)communicate without completely crashing over and over again. This is my public cheatsheet.
The scenario: I have Windows based network centered around a Server 2008. This server has redundant storage and is backed up on a regular scale. For building iPhone apps I have my Macbook. Anything could happen to that, like getting nicked. To preserve my work my Windows server runs VisualSVN server. Nice and easy tool, it takes two clicks and typing a name to set up a new repository. My work is safe, I have a good history and can share it with (potential) co-workers.
The hard part is linking this repository to a MonoDevelop project. There is no guidance and any error in the url or credentials will crash the complete IDE. The error log on that is not really helpful.
This does work:
- Create the repository in VisualSVN server
- Visit the repository in your browser (don’t forget to go to trunk)
- Check your browser includes the closing slash (/)
- Copy the Url
- Paste the Url in the Version control | Publish dialog
- Enter your credentials, also the user name is case sensitive
- Click OK and pray
The only positive feedback is MonoDevelop not crashing.
Note how also your password shows up in the url. VisualSVN server has an option to use Windows credentials. Don’t do this, your well kept secret password will now show up everywhere. The SVN enterprise version has more options for credentials. Here I’m using separate simple SVN credentials.