WBlasko
I've found the same problem. I wanted to change files and merge them when needed instead of waiting for some other developer to unlock it. The solution that worked for me was:
1) Get the latest version of a VSS project (I placed all VSS projects under vss):
c:\vss\projectA
2A) Initialize with Mercurial
cd vss\projectA
C:\vss\projectA>hg init
2B) Clone the project to the place where it could be changed at will
hg clone vss\projectA myProjects\projectA
3) Grab the latest changes from the VSS copy (skip if you came from 1 and 2)
C:\myProjects\projectA>hg pull
C:\myProjects\projectA>hg update
(solve conflicts if any)
4) Work at will with the cloned version. Later, push your work to the vss copy:
C:\myProjects\projectA>hg push
(don't run hg update yet, wait for VSS latestes version)
5) Now, perform a checkout of all files to the VSS project
6) Run "hg update" on the VSS project to merge your changes to the latest VSS changes.
C:\vss\projectA>hg update
(if there are conflicts, resolve them)
7) Commit the changes
C:\vss\projectA>hg commit
8) Perform a VSS checkin (releasing the locks to the other folks)
Go back to step 3. repeat steps 3-8 forever then... ;-)
This way you can work with a good version control system while still being able "talk" to legacy projects. You will be also be able to enjoy:
a) No problem with locked files
b) you can share your repository with others that know how to use Hg
c) make branches , etc
Just be carefull to first update/solve conflicts, test and then perform VSS checkin
Cheers,
Luis
I got this to work by editing the solution file as well as deleting the *.*scc files.
Here's what I removed from the solution file:
Under the section:
ProjectSection(WebsiteProperties) = preProject
I removed the following 4 lines:
SccProjectName = ""$/HOS_amend.root/HOS", ENWBAAAA"
SccAuxPath = ""
SccLocalPath = ".."
SccProvider = "MSSCCI:Microsoft Visual SourceSafe"
Also removed the entire section:
GlobalSection(SourceCodeControl) = preSolution
After doing this when I open the solution I get the prompt with the option to "permanently remove bindings".
Best Answer
VSS has a feature called "Share and Pin". It is the closest thing it has to branching. I've found it to take a long time, slows down access later on, and hard to work with.
But I would suggest starting by looking in the help for that topic.
Introducing Visual SourceSafe
How to: Share and Branch a File