VSS and SOS are fighting!
Moderator: SourceGear
VSS and SOS are fighting!
Hello,
We're in the process of evaluating SOS and so far it has been amazing for us remote users. I've informally measured increases from 5x to 50x depending upon the task. However, we have run into a snag. We have two VSS databases that are used by separate groups and both are seeing this. Both groups are using VS.NET 2003 with C# projects. Both groups have one remote developer using SOS and the rest are on-site using VSS. Both groups have their solutions bound to VSS and thus the fighting starts. When VS.NET/VSS created the solutions it saved the project information in the project files (.csproj) with this:
SccProjectName = "SAK"
SccLocalPath = "SAK"
SccAuxPath = "SAK"
SccProvider = "SAK"
However, when SOS gets a project from VSS, it wants to change the the above fields to :
SccProjectName = "$/<some explicit path>"
SccLocalPath = "."
SccProvider = "MSSCCI:SourceOffSite"
So when the on-site users open the solution, it immediately wants to check it out and it's a constant battle between the two programs. Has anyone else seen this? How do we stop this endless tug-of-war?
Thanks in advance!
Derek
We're in the process of evaluating SOS and so far it has been amazing for us remote users. I've informally measured increases from 5x to 50x depending upon the task. However, we have run into a snag. We have two VSS databases that are used by separate groups and both are seeing this. Both groups are using VS.NET 2003 with C# projects. Both groups have one remote developer using SOS and the rest are on-site using VSS. Both groups have their solutions bound to VSS and thus the fighting starts. When VS.NET/VSS created the solutions it saved the project information in the project files (.csproj) with this:
SccProjectName = "SAK"
SccLocalPath = "SAK"
SccAuxPath = "SAK"
SccProvider = "SAK"
However, when SOS gets a project from VSS, it wants to change the the above fields to :
SccProjectName = "$/<some explicit path>"
SccLocalPath = "."
SccProvider = "MSSCCI:SourceOffSite"
So when the on-site users open the solution, it immediately wants to check it out and it's a constant battle between the two programs. Has anyone else seen this? How do we stop this endless tug-of-war?
Thanks in advance!
Derek
Derek W. Price
If the projects already exist on the developer's machines, having been previously integrated with VSS, the existence of MSSCCPRJ.SCC files with VSS bindings could cause problems. Try this:
1. Check in any changed files on the developer's machine into VSS.
2. Back up and then remove the solution from the developer's machine.
3. Then start VS.NET and perform an "open from source control". This should refetch the project and bind it with SOS without needing to change the .sln and .proj files.
1. Check in any changed files on the developer's machine into VSS.
2. Back up and then remove the solution from the developer's machine.
3. Then start VS.NET and perform an "open from source control". This should refetch the project and bind it with SOS without needing to change the .sln and .proj files.
Corey Steffen
SourceGear LLC
SourceGear LLC
-
- Posts: 1
- Joined: Tue Jun 01, 2004 10:08 am
Solving this issue
Derek,
Only today have i managed to get a solution to this that I think works for me. We have remote developers who use only SOS and local devs who use only VSS, i'm not sure if this setup fits yours. We are using SOS 4.0.2.
Basically we have the issue where when our SOS users pull projects (or open existing solutions) VS.NET decides it wants to checkout all the project files and change the SCC provider, if we do this is screws all our VSS users etc. You can stop vs.net checking out the projects but then you cant add files extra through visual studio, it adds them to the local project files but those files are not checked out, so the updates never get back in.
The solution which is working for me is to convince VS.NET 2003 that it's working with Visual SourceSafe when in reality its working with SOS, I think this'll only work for people who use either VSS or SOS rather than both (however i'm sure you could use regscripts etc to work around it).
Anyway, i'm doing this:
1. Set SOS as your default SCC
2. Open regedit
3. Open HKEY_LOCAL_MACHINE\SOFTWARE\SourceOffSite\SourceOffSite and set SCCServerName to Microsoft Visual SourceSafe from SourceOffSite
4. Open HKEY_LOCAL_MACHINE\SOFTWARE\SourceCodeControlProvider and check ProviderRegKey is set to Software\SourceOffSite\SourceOffSite
5. Open HKEY_LOCAL_MACHINE\SOFTWARE\SourceCodeControlProvider\InstalledSCCProviders
6. Rename Microsoft Visual SourceSafe to Microsoft Visual SourceSafe2
7. Rename SourceOffSite to Microsoft Visual SourceSafe (so basically Key:Microsoft Visual SourceSafe Value:Software\SourceOffSite\SourceOffsite)
8. Open your VSS solution file
If by now your PC hasn't been consigned to the rubbish bin, you may find that VS.NET thinks your VSS solution file is fine, and will just let you log into 'Microsoft Visual SourceSafe' (SOS) as normal.
This method seems to allow me to add files, mess about with projects etc and totally interact with my VSS using pals.
If this works for you great, if not sorry to have destroyed your registry, but you made a backup right?
Shaun
Only today have i managed to get a solution to this that I think works for me. We have remote developers who use only SOS and local devs who use only VSS, i'm not sure if this setup fits yours. We are using SOS 4.0.2.
Basically we have the issue where when our SOS users pull projects (or open existing solutions) VS.NET decides it wants to checkout all the project files and change the SCC provider, if we do this is screws all our VSS users etc. You can stop vs.net checking out the projects but then you cant add files extra through visual studio, it adds them to the local project files but those files are not checked out, so the updates never get back in.
The solution which is working for me is to convince VS.NET 2003 that it's working with Visual SourceSafe when in reality its working with SOS, I think this'll only work for people who use either VSS or SOS rather than both (however i'm sure you could use regscripts etc to work around it).
Anyway, i'm doing this:
1. Set SOS as your default SCC
2. Open regedit
3. Open HKEY_LOCAL_MACHINE\SOFTWARE\SourceOffSite\SourceOffSite and set SCCServerName to Microsoft Visual SourceSafe from SourceOffSite
4. Open HKEY_LOCAL_MACHINE\SOFTWARE\SourceCodeControlProvider and check ProviderRegKey is set to Software\SourceOffSite\SourceOffSite
5. Open HKEY_LOCAL_MACHINE\SOFTWARE\SourceCodeControlProvider\InstalledSCCProviders
6. Rename Microsoft Visual SourceSafe to Microsoft Visual SourceSafe2
7. Rename SourceOffSite to Microsoft Visual SourceSafe (so basically Key:Microsoft Visual SourceSafe Value:Software\SourceOffSite\SourceOffsite)
8. Open your VSS solution file
If by now your PC hasn't been consigned to the rubbish bin, you may find that VS.NET thinks your VSS solution file is fine, and will just let you log into 'Microsoft Visual SourceSafe' (SOS) as normal.
This method seems to allow me to add files, mess about with projects etc and totally interact with my VSS using pals.
If this works for you great, if not sorry to have destroyed your registry, but you made a backup right?
Shaun
Re: Solving this issue
This worked for me with SourceOffSite 4.0.2. Vs.Net does not ask to check out project files any moreshaundodimead wrote:Derek,
This method seems to allow me to add files, mess about with projects etc and totally interact with my VSS using pals.
If this works for you great, if not sorry to have destroyed your registry, but you made a backup right?
Shaun
I think the solution is at this support post [1], but I have not had a chance to try it yet.
[1] http://support.sourcegear.com/viewtopic.php?t=1149
Thanks,
Derek
[1] http://support.sourcegear.com/viewtopic.php?t=1149
Thanks,
Derek
Derek W. Price