Groups > Microsoft > Sourcesafe > Source Control (VSS / TFS) Case




Source Control (VSS / TFS) Case

Source Control (VSS / TFS) Case
Thu, 31 Jan 2008 04:57:01 -080
Scenario:
I have the following Visual Studio Projects
•	Enterprise.LogLib – contains methods for reading and writing to various 
types of log files (cvs, txt, xml, etc)
•	Enterprise.ImageLib – contains methods for manipulating various types of 
images (jpg, tiff, png, etc)
•	Enterprise.LogViewer – windows application that allows users to view and 
manipulate log files
•	DemandingClient.ImageViewer – windows application that allows users to 
view and manipulate images
The projects reside in Visual SourceSafe 2005 under the following paths 
(assume checkins are well labeled)
•	$/Enterprise/LogLib
•	$/Enterprise/ImageLib
•	$/Enterprise/LogViewer
•	$/DemandingClient/ImageViewer
The projects are referenced as project references as follows
•	Enterprise.ImageLib references Enterprise.LogLib
•	Enterprise.LogViewer references Enterprise.LogLib
•	DemandingClient.ImageViewer references Enterprise.ImageLib and 
Enterprise.LogLib
Problem:
Enterprise.LogLib has a single method:
•	Enterprise.LogLib.Log(int errorNumber);
The Enterprise.ImageViewer application is built, tested, and shipped to the 
customer.  After the application is deployed the Enterprise.LogViewer 
application begins production.
During the development of the Enterprise.LogViewer application the 
development team decides that the Enterprise.LogLib.Log(int errorNumber) 
method is too specific.  They remove the function and new log function 
becomes:
•	Enterprise.LogLib.Log(string format, params object [] parameters);
The Enterprise.LogViewer application is built, tested and shipped to the 
customer.  In the meantime, a bug is found in the DemandingClient.ImageViewer 
application and the development team returns to the code to put out a 
release.  However, now, the DemandingClient.ImageViewer Development Team 
finds that their code no longer builds.
Discussion and Questions:
Can Team Foundation Server help us?  
•	Would it be possible for the DemandingClient team to reload and build the 
project file/source from the old LogLib and recompile within standard TFS 
workflow (assuming there was a checkpoint)?
•	Would the DemandingClient team be able to maintain project references 
within their projects/solution?
•	What would be the best way to structure the repository?  
o	Would the code for the Enterprise and DemandingClient  Teams be in the 
same repository?  
o	Would it be able to reside in the same solution as a project reference as 
opposed to a compiled/versioned .dll so that it could be further modified and 
then merged back into the top level as necessary?
•	What would be a good strategy for branching within the repository?
Post Reply
about | contact