Sharing - pins etc

This forum is now locked, since Gold Support is no longer offered.

Moderator: SourceGear

Locked
CSkardon
Posts: 28
Joined: Thu Jan 19, 2006 9:39 am

Sharing - pins etc

Post by CSkardon » Fri Jul 28, 2006 3:28 am

Hi guys,

I have a situtation I hope I can fix easily using Vault... The situation is this:

I have a Trunk, and 2 branches.
Currently all 3 use another root folder called 'ExternalLibraries' - in here we have libraries that are used in the code, but aren't written by us. So the structure looks like this:

ProdX
Branches\ProdX Branch 1
Branches\ProdX Branch 2
ExternalLibraries

The problem is that we have one file in the External libraries that differs for Branch 2, but not the trunk or Branch 1.

i.e. Library1.dll is version 2.0 for Trunk and Branch1, but version 1.0 for Branch 2.

Is there anyway (via sharing or similar) to share the external libraries and just pin that one file in that one branch to version 1.0.

I have tried doing the following:

Share External Libraries into each of the branches, so I have:

Prodx\ExternalLibraries
Branches\ProdX Branch 1\ExternalLibraries
Branches\ProdX Branch 2\ExternalLibraries
ExternalLibraries (shared)

But if I try to then pin the file in Branch 2, it pins the file in all the branches.

Should I just branch this version?
The annoying thing with that would be that for most of the dlls any upgrade is backwards compatible and generally desirable, using sharing means I only have to update one folder - as opposed to each branch individually.

Is there any way to get to do what I want to do? Am I asking too much :)
Am I even understandable?

Thanks

Chris

davidt
Posts: 44
Joined: Thu Aug 12, 2004 7:43 am

Post by davidt » Fri Jul 28, 2006 7:30 am

Chris,

Vault shares an item as a complete item. So when you share a folder, any operations, such as pin, apply to the complete shared folder, and the contents of the folder just come along for the ride, as it were.

If you want to be able to treat different items differently, you have to share them separately.

You could do this:

1. Share $/External Libraries to ProdX and Branch 1 (you did this already).

2. In Branch 2, create an External Libraries folder.

3. Share each of the files in $/External Libraries to Branch 2/External Files.

4. Pin Branch 2/External Files/Library 1.dll at version 1.0.

In the future, if you add another file to External Files, it will automatically appear in ProdX/External Files and Branch 1/External files, but you will need to share it to Branch 2/External Files by hand.

It's a little roundabout, but I don't think there's another way to pin just one file at a particular spot.

Hope this helps!
David Thompson
JELD-WEN, inc.

CSkardon
Posts: 28
Joined: Thu Jan 19, 2006 9:39 am

Post by CSkardon » Wed Aug 02, 2006 4:34 am

Well, if that's the way then that's the way!
Thanks for the help

Chris

Locked