Rearranging tree - how does it affect old versions?

If you are having a problem using Vault, post a message here.

Moderator: SourceGear

Post Reply
JoeFromm
Posts: 7
Joined: Wed Feb 08, 2006 12:41 pm
Location: Minneapolis, MN

Rearranging tree - how does it affect old versions?

Post by JoeFromm » Thu Feb 01, 2007 4:48 pm

We are in the midst of doing some surgery on our repository. We have a mainline and several branches, and need to update the mainline with work done in a branch.

That part I can do, but one of the problems we have with our branching is that our source tree is not organized properly, and to perform a branch we have to branch multiple top level trees in the repository. That in itself wouldn't be so bad, but we have shares that cross the root, i.e. $/foo/a.h is shared to $/bar/a.h. Branching $/foo and $/bar are separate operations, so the shares get broken every time we create a branch.

We'd like to address the problem, and the simplest solution seems to be to create a new $/foobar project, and move the $/foo and $/bar folders into it. Then in the future we could simply branch $/foobar as needed, and our shares would remain intact.

All of that is rather long winded setup for my question, which is what happens if I want to go back in time and get from an old label?

The build script associated with that label would assume the old arrangement of $/foo and$/bar, rather than $/foobar/foo and $/foobar/bar. Would the get (or branch) from an old label use the old structure or the new structure? Is this simply a question of setting the working folders appropriately?

Thanks

lbauer
Posts: 9736
Joined: Tue Dec 16, 2003 1:25 pm
Location: SourceGear

Post by lbauer » Thu Feb 01, 2007 6:01 pm

I moved a subfolder from a labeled folder and then did a Get by Label. The subfolder appeared in the same directory as the rest of the get. I think the label gets the project in the same structure as it was at the point of time it was labeled. However, your situation is somewhat more complex.

Could you give me a bit of a diagram of your project structure, what's shared, and where the label is applied, and I can try to do a better job of reproducing what might happen.

Another thought would be to create a new repository and add the latest version of your code to it, in the structure you want. Then you can use the other repository for retrieving labels and historical versions.
Linda Bauer
SourceGear
Technical Support Manager

JoeFromm
Posts: 7
Joined: Wed Feb 08, 2006 12:41 pm
Location: Minneapolis, MN

Post by JoeFromm » Fri Feb 02, 2007 8:02 am

We've created a test repository so that I can do some prototyping without affecting live data. So I don't think it is necessary to ask you to do that testing for me (though I thank you for the offer).

Creating a new live repository is not a good solution for us, since this is only one of many projects, and adding a new repository just introduces more complexity in the long run.

Post Reply