Source Code Control - Share
In VSTS, is there an equivalent to Share available? We have applications which are developed across multiple platforms (web, desktop, mobile) which many of the class files are just shared accross the different project types to allow code reuse.
We will have a seperate project for Full Framework and Compact Framework. ClassA exists in both projects. If either project makes changes, the other should see those changes. In Visual Sourcesafe 6 we handled this by sharing ClassA. I am still struggling to see how this can work in Team Systems.
Thanks,
Vannie
[575 byte] By [
Vannie] at [2007-12-16]
There's no support for the VSS "Share" feature in VSTS Source Control. This is a frequent point of contention, but sharing is generally avoided in larger-scale projects for the same reason you often want it in smaller-scale projects. Some folks reuse the physics phrase "spooky action at a distance" - that is, CompactFX's ClassA changes and the CompactFX team doesn't know why, until they remember that it's shared code with FullFx. Moreover, the FullFx team may have built and tested their changes in their code, but they didn't necessarily make sure CompactFX's code even builds with the changes.
Branching lets you get the shared code without the silent/automatic changes, at the cost (and benefit) of managing the code movement between the two branches. A lot of VSS users are asking for Share, so optional support for it may come in a future version (basically, a checkin to a 'share-mode' branch would automatically merge those changes to the other share branches), but (of course) I can't promise anything.
The other possibility is to have a single ClassA project that's included in both solutions, if you're using or migrating an existing code tree structure that would support doing so. At least one other user didn't want to reorganize their codebase just to support that scenario, but it's an option.
Hi Chris,
I don't believe sharing is only good to create problems to teams using shared code. We used VSS[Share feature] for long time in a single team with multiple projects sharing classes. And in our case we want to propogate changes to all paths. If it breaks any other project then it just shows the developer has not done enough testing. Before checking in a shared file it was always advisable to be aware of the shared file icon and ensure the shared project works.
Now we've been trialing VSTS for a couple of months and we do need the share 'feature' since we still have shared files accross projects. If there is any change to the file we want it to be promoted to all paths in other projects. Again it is single team wokring on multiple projects but no reason why we won't need to use this feature accross teams.
Just today I had discussions with the Dev lead who seemed to tell me that since this feature is not available in TFS he'll be writing a utility to check project dependancies accross projects and copy files before building all solutions. I told him how unimaginative this sounds. Why would TFS not have this feature is beyond me. I believe there are many like me who want to share file accross projects and they'll all be writing their own utilities or modify their codebase just to support the share scenario which VSS did pretty well.
I even told the Dev lead that since we are beta testing why not put this in the feedback to MS to include this feature in the final release. Isin't that the reason we beta-test it?