Shared file and SOSCMD
Moderator: SourceGear
Shared file and SOSCMD
Hi,
I have a project A and after some time Project B was created and it is shared with Project A. Any changes to Project A is seen in Project B through VSS/SOS GUI. However if SOSCMD GetProject is performed on Project B any check-ins made in Project A after SHared Project B got created in not retrieved correctly. It is only getting the version of files at the time of split.
SOS GUI is working correctly, but not SOSCMD, i tried SOSCMD 3.5.3 and 4.1.2 and both exhibit same behaviour.
I have a project A and after some time Project B was created and it is shared with Project A. Any changes to Project A is seen in Project B through VSS/SOS GUI. However if SOSCMD GetProject is performed on Project B any check-ins made in Project A after SHared Project B got created in not retrieved correctly. It is only getting the version of files at the time of split.
SOS GUI is working correctly, but not SOSCMD, i tried SOSCMD 3.5.3 and 4.1.2 and both exhibit same behaviour.
We'll try to reproduce this.
What is the version of the SOS Server?
What version of VSS automation component is on the SOS Server machine? Here's how to find out:
http://support.sourcegear.com/viewtopic.php?t=1510
You shared Project A to create Project B, is that correct?
Are they at the same level in the project tree:
$/ProjectA
$/ProjectB
Thanks.
What is the version of the SOS Server?
What version of VSS automation component is on the SOS Server machine? Here's how to find out:
http://support.sourcegear.com/viewtopic.php?t=1510
You shared Project A to create Project B, is that correct?
Are they at the same level in the project tree:
$/ProjectA
$/ProjectB
Thanks.
Linda Bauer
SourceGear
Technical Support Manager
SourceGear
Technical Support Manager
Linda:
Thanks for the quick reply. SOS & VSS Server are maintained by my companies centralized MIS. I will get the details about the version of SOS tommorrow.
Yes, I shared Project A to create Project B. They are in the same level.
After sharing (all files were NOT branched at the time of sharing), some shared files were changed in Project A assuming that it would be visible in Project B.
Using VSS Client/SOS GUI client, the behaviour is correct as described and shared file changes in Project A were visible in Project B.
However if we use SOSCMD GetProject to get Project B , the shared files which had undergone changes in Project A after Project B were created, were not corectly.
This has broken our project automated build environment and need a quick help to fix this.
I think i used VSS to create the initial share and
Thanks for the quick reply. SOS & VSS Server are maintained by my companies centralized MIS. I will get the details about the version of SOS tommorrow.
Yes, I shared Project A to create Project B. They are in the same level.
After sharing (all files were NOT branched at the time of sharing), some shared files were changed in Project A assuming that it would be visible in Project B.
Using VSS Client/SOS GUI client, the behaviour is correct as described and shared file changes in Project A were visible in Project B.
However if we use SOSCMD GetProject to get Project B , the shared files which had undergone changes in Project A after Project B were created, were not corectly.
This has broken our project automated build environment and need a quick help to fix this.
I think i used VSS to create the initial share and
Linda:
I conducted one more experiment. I tried to see whether soscmd GetFile behaves differently from GetProject. I took a sample file that was not retrieved correctly using GetProject and i tried to do a soscmd GetFile on that shared file. As a surprise there is a difference. soscmd GetFile got the correct version, whereas GetProject got the wrong one for the same file.
Hope this helps.
I conducted one more experiment. I tried to see whether soscmd GetFile behaves differently from GetProject. I took a sample file that was not retrieved correctly using GetProject and i tried to do a soscmd GetFile on that shared file. As a surprise there is a difference. soscmd GetFile got the correct version, whereas GetProject got the wrong one for the same file.
Hope this helps.
I think I reproduced this once, but couldn't consistently reproduce the behavior. Are you using the same working directory as the SOS GUI Client? Have you tried using the -nocache or -soshome parameters? (See soscmd.txt for the Command Line Client documentation.) Can you get the proper files to a non-working directory?
Also, I may be using a different version of the VSS automation component. What version of VSS automation component is on your SOS Server machine? Here's how to find out:
http://support.sourcegear.com/viewtopic.php?t=1510
Put your SOS Server log in verbose mode. This setting is in the SOS Server Manager->Debug tab. Are there any errors indicating SOS is having problem getting files?
Also, what command are you using for this operation (please use XXX's for any actual server, port, user and password info.
Also, I may be using a different version of the VSS automation component. What version of VSS automation component is on your SOS Server machine? Here's how to find out:
http://support.sourcegear.com/viewtopic.php?t=1510
Put your SOS Server log in verbose mode. This setting is in the SOS Server Manager->Debug tab. Are there any errors indicating SOS is having problem getting files?
Also, what command are you using for this operation (please use XXX's for any actual server, port, user and password info.
Linda Bauer
SourceGear
Technical Support Manager
SourceGear
Technical Support Manager
My build envionment is linux and soscmd is used in that build environment. My build folder is samba shared and this share is mapped in windows. In Windows i use SOS GUI and VSS client on the mapped drive (i.e.) i do not use SOS GUI from Linux.
I have not used -nocache or -soshome. I will work with my MIS team to setup verbose mode. From the soscmd client, there are no errors and success is correctly reported (but old version is reported). As previously stated,soscmd GetFile is working good, not the GetProject.
Also when i used -nocache it was returning the wrong version of the file. I am not sure whether soshome applied in this case, as i am not using SOS GUI in Linux. Also i tried soscmd without specfying the workdir and it also returned the wrong version.
The syntax i use is
soscmd -command GetProject -server $ServerIp:$ServerPort -name $SosUser -password $SosPass -database $Database -project $ProjPath/$DevTree -recursive -workdir $BuildDir/$DevTree
I have not used -nocache or -soshome. I will work with my MIS team to setup verbose mode. From the soscmd client, there are no errors and success is correctly reported (but old version is reported). As previously stated,soscmd GetFile is working good, not the GetProject.
Also when i used -nocache it was returning the wrong version of the file. I am not sure whether soshome applied in this case, as i am not using SOS GUI in Linux. Also i tried soscmd without specfying the workdir and it also returned the wrong version.
The syntax i use is
soscmd -command GetProject -server $ServerIp:$ServerPort -name $SosUser -password $SosPass -database $Database -project $ProjPath/$DevTree -recursive -workdir $BuildDir/$DevTree
We need to know the version of the SourceSafe automation component you're using on the SOS Server before we can provide further assistance. The automation component is the interface between SOS and the database, so variations in the automation component can cause different behavior. Here's how to find out what version of the automation component you're using.
http://support.sourcegear.com/viewtopic.php?t=1510
http://support.sourcegear.com/viewtopic.php?t=1510
Linda Bauer
SourceGear
Technical Support Manager
SourceGear
Technical Support Manager
We have not been able to reproduce this in-house, either with the Windows or Linux CLC, using 3.5.3 SOS server and command line client.
Does this happen just on the one shared project? Is it reproducible if you create a project, share it, edit some files, then do a get on the shared project?
If so, perhaps my steps to reproduce were slightly different than yours. Could you provide specific steps?
If the problem is only with the one shared project, then there may be inconsistencies in the VSS database. In that case, I would suggest running Analyze on the VSS database:
http://support.sourcegear.com/viewtopic.php?t=50
Does this happen just on the one shared project? Is it reproducible if you create a project, share it, edit some files, then do a get on the shared project?
If so, perhaps my steps to reproduce were slightly different than yours. Could you provide specific steps?
If the problem is only with the one shared project, then there may be inconsistencies in the VSS database. In that case, I would suggest running Analyze on the VSS database:
http://support.sourcegear.com/viewtopic.php?t=50
Linda Bauer
SourceGear
Technical Support Manager
SourceGear
Technical Support Manager