title: DVCS with a Windows central repository
body: <p>We are currently using VSS for version control. Quite few of our developers are interested in a distributed model (And want to get rid of VSS). Our network is full of Windows machines and while our IT department has experience maintaining Linux machines they would prefer not to.</p>
  
  <p>What DVCS systems can host their central repository on Windows while providing..</p>
  
  <ol>
  <li>Push access to the repository.</li>
  <li>Basic authentication. Mostly just a way to allow or deny access to the whole repository. No need for fine grained access.</li>
  <li>Server process so users don't need write right to the repository reducing the risk of accidentally messing with it.</li>
  </ol>
  
  <p>On the client side a GUI such as Tortoise would be more or less a requirement (Sorry, Windows shell sucks. :|). Ease of installation would be a huge plus as our IT department is already quite low on resources. And using windows credentials for authentication would be an advantage but not a requirement as long as the client is able to store the credentials.</p>
  
  <p>I have had a (really) quick look at Git, Mercurial and Bazaar.</p>
  
  <ul>
  <li><strong>Git</strong> seemed to use ssh or simple WebDAV for repository access, requiring write permission for the users.</li>
  <li><strong>Mercurial</strong> had a built in http server, but this seemed to be only for pull purposes. <strong>Update:</strong> Mercurial supports push as well.</li>
  <li><strong>Bazaar</strong> Seemed to use sftp for repository access, again requiring a write permission for the users.</li>
  </ul>
  
  <p>Are there windows server processes for any DVCS systems and has anyone managed to set one up in a Windows land?</p>
  
  <p><em>And apologies if this is a duplicate question. I couldn't find one.</em></p>
  
  <p><strong>Update</strong></p>
  
  <p>Got Mercurial working for push purposes! Detailed list what was required can be found as an answer below.</p>