I need to authenticate my windows users on to a Linux Server which will act as a primary authentication source. Users need to be authenticated and use their access to run SVN or Mercurial ( with something like Tortoise SVN client), or some versioning system. The versioning system need to be authenticated against the Linux Server's authentication source, and users need to use their Windows login username and password to server. I'd have attempted to do this normally on Samba. But is there a better choice? Also how do you create a roaming profile? That is anyone should be able to access their SVN from any PC as long as they use their right Windows username and password
As long as the SVN / Mercurial is configured to do system authentication, then you can accomplish this by configuring the linux PAM settings to authenticate via the AD network. I don't know what kind of linux server you are using, but for ubuntu these docs are good:
While for CentOS:
Is a good starting point.