Home | Contact Us | FAQ | Search & Site Map | Link to Us
Sign In | Join | Other 45 Sites in Network
HomeAnnouncementsFree MagazinesWhite PapersSubmit Content
Discussion GroupsASP.NETWindows FormsLanguages.NET FrameworkVisual Studio.NET
Articles.NET FrameworkASP.NETToolsWindows Forms
.NET DirectoryOpen Source ProjectsUser GroupsWeb Resources
Related Topics
Visual Basic 6SQL ServerMS AccessOther DB ProductsMS Server ProductsMore Topics ...

.NET Forum / Visual Studio.NET / IDE / February 2008

Tip: Looking for answers? Try searching our database.

Source Safe Visual Studio bindings incorrect after Share and Branc

Thread view: 
Enable EMail Alerts  Start New Thread
Thread rating: 
QSIDeveloper - 04 Feb 2008 20:37 GMT
This was reposted with the correct alias.

We are using Visual Studio 2005 with source control integration with SS V6.
When we have a release of a project in order to be able to develop new
features and do bug fixed in the release version we make a copy of the
projects(s) is Source safe.  This is done by performing a Share and Branch.  
After this is done many of the csproj files and the SLN files have incorrect
SS binding information that points back at the original SS project tree in
them while others correctly bind to the new (copied) version.  How can we
control this behavior so that the binding information follows the copied
project?
WenYuan Wang [MSFT] - 05 Feb 2008 07:17 GMT
Hello QSIDeveloper,

According to your description, you found an issue that the solution still
binds to the original SS project tree after you performed a Share/Branch on
it. If I misunderstood anything here, please don't hesitate to correct me.

How do you open the solution in VS 2005? If you open it by
"File|Open|Project|SourceSafe", I believe you must have gotten a dialog as
below:
"You opened a project or solution from a location that doens not machtch
its original server binding. The project or solution may have been branched
in your source control store..."

The binding information is stored in .sln file. VSS doesn't know about it.
Therefore, after you share/branch the project, the binding information
which is stored in .sln file doesn't change. It still indicates to the
original SS project tree. This is the reason why you face the issue that
project binds to the "wrong" SS project.

To resolve this issue, you would have to re-bind your solution after
sharing/Brach it in VSS. You can re-bind the project to CORRECT VSS project
tree by "File|SourceControl|Change SourceControl".

Hope this helps. Let me know if you have any more concern. We are glad to
assist you.

Have a great day,
Best regards,

Wen Yuan
Microsoft Online Community Support
==================================================
This posting is provided "AS IS" with no warranties, and confers no rights.
QSIDeveloper - 05 Feb 2008 13:59 GMT
Thank you for your reply.  I don’t see the dialog possibly because I get the
latest version from the new branch so it is easy for the incorrect bindings
to go unnoticed.  What I have noticed is that the problem appears to occur
only for some solutions while others appear to bind to the new branch. If I
look in the SLN file I notice that for the projects that retain the old
binding the SCC settings are different.  For those solutions that have the
correct bindings there is a setting
SccProjectFilePathRelativizedFromConnectionn where n is an integer starting
at 1 there are 1 less of these settings than thee are projects in the
solution.  Below are excerpts from two SLN files. As you can see in the later
case the bindings have a full path while the first case appears to be a
relative path.

How can we get all the SNL files to bind in the same way, preferably with
relative paths?

This is a section of a SLN that the bindings appear to follow the new branch

           GlobalSection(SourceCodeControl) = preSolution

                       SccNumberOfProjects = 4

                       SccLocalPath0 = .

                       SccProjectUniqueName1 = FilePurge\\PurgeEngine.csproj

                       SccLocalPath1 = .

                       SccProjectFilePathRelativizedFromConnection1 =
FilePurge\\

                       SccProjectUniqueName2 =
ICPurgeService\\ICPurgeService.csproj

                       SccLocalPath2 = .

                       SccProjectFilePathRelativizedFromConnection2 =
ICPurgeService\\

                       SccProjectUniqueName3 =
PurgeServiceTester\\PurgeServiceTester.csproj

                       SccLocalPath3 = .

                       SccProjectFilePathRelativizedFromConnection3 =
PurgeServiceTester\\

           EndGlobalSection.



This is a section from a SLN that points back k to the original branch



           GlobalSection(SourceCodeControl) = preSolution

                       SccNumberOfProjects = 6

                       SccLocalPath0 = .

                       SccProjectUniqueName1 = MFPTester\\MFPTester.csproj

                       SccProjectName1 =
\u0022$/IntelliChief/Ver2_3/Ver2_3_0/Server/Windows/Services/ICMfpFolderMonitoringService/MFPTester\u0022,\u0020DTJVAAAA

                       SccLocalPath1 = MFPTester

                       SccProjectUniqueName2 =
..\\ServicesCommon\\ICFolderMonitorBatchProcessor\\ICFolderMonitoringBatchProcessor.csproj

                       SccProjectName2 =
\u0022$/IntelliChief/Ver2_3/Ver2_3_0/Server/Windows/Services/ServicesCommon/ICFolderMonitorBatchProcessor\u0022,\u0020GJKVAAAA

                       SccLocalPath2 =
..\\ServicesCommon\\ICFolderMonitorBatchProcessor

                       SccProjectUniqueName3 =
..\\ServicesCommon\\IcFolderMonitoringDatabase\\ICFolderMonitoringDatabase.csproj

                       SccProjectName3 =
\u0022$/IntelliChief/Ver2_3/Ver2_3_0/Server/Windows/Services/ServicesCommon/IcFolderMonitoringDatabase\u0022,\u0020OJKVAAAA

                       SccLocalPath3 =
..\\ServicesCommon\\IcFolderMonitoringDatabase

                       SccProjectUniqueName4 =
ICFolderMonitoringEngine\\IcMfpFolderMonitoringEngine.csproj

                       SccProjectName4 =
\u0022$/IntelliChief/Ver2_3/Ver2_3_0/Server/Windows/Services/ICMfpFolderMonitoringService/ICFolderMonitoringEngine\u0022,\u0020ESJVAAAA

                       SccLocalPath4 = ICFolderMonitoringEngine

                       SccProjectUniqueName5 =
ICFolderMonitoringService\\IcMfpFolderMonitoringService.csproj

                       SccProjectName5 =
\u0022$/IntelliChief/Ver2_3/Ver2_3_0/Server/Windows/Services/ICMfpFolderMonitoringService/ICFolderMonitoringService\u0022,\u0020NSJVAAAA

                       SccLocalPath5 = ICFolderMonitoringService

           EndGlobalSection

Thanks
QSI


> Hello QSIDeveloper,
>
[quoted text clipped - 29 lines]
> ==================================================
> This posting is provided "AS IS" with no warranties, and confers no rights.
WenYuan Wang [MSFT] - 06 Feb 2008 07:40 GMT
Hello QSI,
Thanks for your reply.

.sln file format is undocumented. I'm afraid it's not a good idea to edit
.sln file directly. That's dangerous.

The correct way to re-bind the old project to new branch is edit it by VS
IDE.
1.    Please open your project in VS 2005, click on "File"|"source
control"|"change source control".
2.    In "Change Source Control" dialog, select all projects which you want to
re-bind, and click on "Browse" item to select the new SS project tree.

Hope this helps. Let me know if this is what you need. I will follow up.
It's my pleasure to assist you.

Have a great day,
Best regards,

Wen Yuan
Microsoft Online Community Support
==================================================
This posting is provided "AS IS" with no warranties, and confers no rights.
QSIDeveloper - 06 Feb 2008 13:16 GMT
Hello Wen

I think you have missed the point entirely.  I am not trying to edit the SLN
file I was pointing out the differences I see in the generated SNL files,
providing you with a clue.  What I am trying to find out is why when we
perform a share and branch in SS and then we get the latest version from the
new branch some of the solutions are correctly bound to the new branch and
others are not.  Why does this happen?  Why is the binding inconsistent? How
can we get all the solutions to be bound correctly after a branch?

Thanks for your help,
QSIDeveloper

> Hello QSI,
> Thanks for your reply.
[quoted text clipped - 19 lines]
> ==================================================
> This posting is provided "AS IS" with no warranties, and confers no rights.
Walter Wang [MSFT] - 11 Feb 2008 05:30 GMT
Hi QSIDeveloper,

WenYuan is not in office, therefore I will help to follow-up.

Based on my understanding so far, you have several solutions in SourceSafe,
after you use "Share and Branch" function in SourceSafe and open the
solutions from new branches, you find some solutions are correctly pointing
to the new locations while some other solutions are not. You need to know
what caused such inconsistent results for the solutions. Please feel free
to let us know if we've misunderstood anything.

To fully troubleshoot such issues, we need to get some reliable
reproducible steps to reproduce the issue on our side first. Would you
please use some test solutions/projects to test if this issue still occurs
and let us know the detailed steps to reproduce it? Thanks!

Regards,
Walter Wang (wawang@online.microsoft.com, remove 'online.')
Microsoft Online Community Support

==================================================
When responding to posts, please "Reply to Group" via your newsreader so
that others may learn and benefit from your issue.
==================================================

This posting is provided "AS IS" with no warranties, and confers no rights.
WenYuan Wang [MSFT] - 12 Feb 2008 09:33 GMT
Hello QSIDeveloper,
Sorry for delay, due to Chinese New Year Holiday.

I think we have figured out the reason why solution still is bound to the
original VSS database tree. That's caused by some stuff in .sln file.  if
you re-bind your solution in VS IDE, those problematic projects can be
bound to new branch.

Now, what you want to know is the reason why some solution binds to new
branch tree after you perform branch/share in VSS explorer, but some
couldn't, correct? If I misunderstood anything here, please don't hesitate
to correct me.

This depends on your project and how you branch/share your solution in VSS
explorer. Is it possible for you to reproduce the issue again?
If true, please send us a detailed reproduced steps and the project. I will
try it on my side, and perform further research. My email address is
v-wywang@microsoft.com

If you have any more concern, please feel free to let me know. We are glad
to assist you.

Have a great day,
Best regards,

Wen Yuan
Microsoft Online Community Support
==================================================
This posting is provided "AS IS" with no warranties, and confers no rights.

Free Magazines

Get these publications absolutely FREE for up to 12 months. There are no hidden fees and no obligation. Simply choose a title, complete the application form and submit it. Read more ...

Oracle MagazineNetwork ComputingComputer WorldBio-IT WorldeWeekInformation WeekInfosecurity
 
Sign In
Join
My Latest Posts
My Monitored Threads
My Blog
My Photo Gallery
My Profile
My Homepage

Start New Thread
Enable EMail Alerts
Rate this Thread



©2008 Advenet LLC   Privacy Policy - Terms of Use
This website includes both content owned or controlled by Advenet as well as content owned or controlled by third parties.