At my job we make & sell websites. Usually we install our .NET C# based site on a customer's server and maintain and support it remotely. However, every once in a while, for bigger development works and just to make things simpler (and faster!), we will copy the site to a local server.

This is great, but has one pain - moving the site back to the customer. Now, If nothing was change on the customer's copy - no problem. However, it is the sad truth that sometime (read more often than I would like) some fixes were needed to be applied on the production server. Either because the customer needed it NOW or simply because it was major bug.

I know that you can easily apply those bug fixes to the local copy as well, but this is an error prone process. So I'm setting my hopes on a distributed version control to help synchronize the two copies.

Here is what I need:

  • Easy to install - nothing else needed except the installer and admin rights.
  • Can integrated in an existing website as a virtual directory and works on port 80 - no hassle with new DNS required.
  • Excellent software

That's it. Any ideas?

Some comments on the answers

First, thanks! much appreciated.

I've looked at Mercurial and Bazaar and both look very good. The only caveat is the installation as a virtual directory on IIS. Mercurial, as far as I understand, use a special protocol (wire) and Bazaar needs and addition of python extensions. Is there another system which is easier to integrate with IIS? I'm willing to take a performance hit for that.


Maybe not exactly what you request but checkout DeltaCopy which is a windows version of rsync. You can also read about another rsync solution here

+2  A: 

I'd look at either Mercurial or Bazaar. I'm told Git also works on windows, but I suspect the windows port is still a second class port at best.

You'll probably need to be able to run python scripts on your webserver to host either of them.

Kristof Provost

I can also vouch for Mercurial. Simple to use and powerful to boot!


link text is great.