Branching old versions of a file in Vault

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

Moderator: SourceGear

Post Reply
Jamie Clayton
Posts: 39
Joined: Tue Oct 02, 2007 3:21 am
Location: Brisbane, Australia
Contact:

Branching old versions of a file in Vault

Post by Jamie Clayton » Thu Jun 19, 2008 1:11 am

G'day,

I'm not sure how to resolve the following problem using Vault 4.0.6.
  • I released a version of the application to the client.
    Development continued on and included a significant database structure change. Breaking backward compatibility with the code.
    The code for this change is incomplete and not ready for release to the customer.
    The client has asked for a series of changes to the last software release, 20 checkins ago.
In hindsight I should have created files with a different name when the database structure changed. Is this how everyone else does it?

How do I fix this problem?

I thought I should use Vault to go back to a version of a file and then copy/branch all the code changes from that point onwards into a different file name?

I really want to retain the checkin history and I'm not sure the exact steps required to do this. Thanks in advance.
Jamie Clayton
Jenasys Design Pty Ltd (Australia)

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

Post by lbauer » Thu Jun 19, 2008 10:14 am

You can do a history query, selecting View Folder History by Version in the History Explorer. Select the folder version/date that corresponds to the release, and you can branch to create another node in the tree.

Then you can do the maintenance changes in the branch. If any of the changes are compatible with the newer release, you could then merge those into the ongoing production using Vault's Merge Branches wizard.
Linda Bauer
SourceGear
Technical Support Manager

Jamie Clayton
Posts: 39
Joined: Tue Oct 02, 2007 3:21 am
Location: Brisbane, Australia
Contact:

Post by Jamie Clayton » Fri Jun 20, 2008 10:58 pm

Cheers for the instructions. I didn't event notice some of the option in the history side of the application.

I've branched out the project back to a lable and that seemed to work ok.
Fortunately I could compare that against a snapshot of the code I took at the time, so it way easy enough to compare the code differences.

Doing this raised some interesting issues for me.
  • 1. There was some code at the current checkin that I wanted in the older branched section. I just added new code files in the branch and copied the current code to that branch. I'm hoping your branch wizard can merge this. This took about 4 hours to complete for our medium sized software application. (about 15 -25 files needed upgrading).
    2. I'm going to label all the code in the branch with our standard software release label. Eg. Product v6.10.14 Released 20080621 etc. I hope the merge wizard will copy that label into the original code when it comes time to do this.
    3. In a project with a constant series of changes, is the smart processes to release the software and ensure there is a branch of that project at that point in time? We keep a copy of all the source code used in the release as a precaution, but it's outside source control. We have been burnt before, where customers don't upgrade software (even when it doesn't cost them anything) and we have to release bug fixes to much older version of the software [please don't ask why!].
Overall I feel much better now I know Vault can do this. I was starting to worry about the long term processes required for previous edition bug fixes. Thanks.
Jamie Clayton
Jenasys Design Pty Ltd (Australia)

GregM
Posts: 485
Joined: Sat Mar 13, 2004 9:00 am

Post by GregM » Sat Jun 21, 2008 8:19 am

Since you can branch from any point in time, we don't create a branch until we need to maintain two different code trees at the same time.

Jamie Clayton
Posts: 39
Joined: Tue Oct 02, 2007 3:21 am
Location: Brisbane, Australia
Contact:

Post by Jamie Clayton » Tue Jun 24, 2008 4:41 pm

Greg,

Thanks for your tip. I'm a little new to this feature of Vault and I forgot I effectively did the date based rollback. I used labels for this branch, which didn't get all the file dates exactly the way my code backup did, but it did 95% of what I needed.

Now I've just got to explain the trickery to the development team and get my documentation in place.
Jamie Clayton
Jenasys Design Pty Ltd (Australia)

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

Post by lbauer » Wed Jun 25, 2008 11:00 am

Thanks for posting the info, Greg.

Jamie: let us know if you need further help.
Linda Bauer
SourceGear
Technical Support Manager

Post Reply