views:

91

answers:

6

I recently started a new job where the office environment is Mac-based, but I will be developing in .NET and SQL Server.

I'm already pretty sold on installing VMWare Fusion to set up a virtual XP box, but I'm wondering if anyone would be able to recommend a solution for code version control. Specifically, should I be installing something like SVN on the virtual box, or should I set it up on the physical Mac and move all code from the virtual machine to the Mac every time I want to check in code? If the latter solution is better, what are some good Mac-compatible version control applications?

+1  A: 

I would recommend you placed your source control repository on a server that is backed up nightly. Better safe than sorry.

sihol
A: 

The source code should be placed on a central VCS server somewhere on the server machines in your office. It doesn't really matter if you place .NET code there or anything else.

The next step I think is to install cygwin in the virtual XP environment. That way you have command line client tools for all the common VCSs available.

mkoeller
+1  A: 

I'd steer clear of installing your source code control on your host operating system (mac os x).

If you keep it either in the XP box, or in an extra Virtual Machine, that way you can easily backup those virtual machines as well as being able to use those virtual machines on a different workstation OR in the event of perhaps a new Mac or a rebuild of the host operating system.

if you keep the source on your host...your virtual machine sort of becomes dependent on it...

davidsleeps
A: 

Are you saying you're the only one using version control? The company should decide on what to use. Hosting for SVN is cheap. They do the management and backups (and you should as well)

I'd stay away form using desktops or PCs for version control - even for one-man shops - it is just so cheap to get good hosting.

Tim
A: 

You can use pretty much anything you want. However, since you are using .Net you may want to consider something that has great tooling support. There are a lot of good plug ins for Visual Studio for SVN or you could go with a commercial product like SourceGear Vault. If there is only one person using it, Vault is free for a single user.

TheCodeMonk
A: 

I have the same situation, although I develop both on OSX (using Aptana and/or TextMate) and Windows/Parallels (using Notepad++ and/or Visual Studio), depending on what I'm doing. In my case I chose a host that provides SVN out of the box (Dreamhost). That way I can access it from anywhere.

For tool support, Aptana is based on Eclipse and so supports eclipse plugins. I've used both Subclipse and Subversive for SVN support in Aptana and both work pretty well (I think I'm currently using Subclipse). In Visual Studio, I use the Ankh SVN plugin that provides IDE support. It's a little clunkier by comparison to the Eclipse tools, but it gets the job done. If you are not tied to IDE support, then TortoiseSVN is definitely the way to go on Windows (for SVN).

There are of course many other VCS solutions out there (Git seems to be the flavor of the month these days). I like SVN because it's straightforward and has been around long enough to have really good tool support. Whatever you choose, definitely host your master code somewhere off of your physical machine. As others have noted, if your machine bombs, you lose all of your code along with your VMs. Don't install a master VCS on your virtual machine -- the whole point of VMs is that they should be easily disposable / recreatable.

bmoeskau