File level merging > folder level merging

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

Moderator: SourceGear

Post Reply
twiggy

File level merging > folder level merging

Post by twiggy » Sun Oct 16, 2005 1:21 am

We've been using VSS for years now, and most of its features.

Branching and merging are crucial for us. When ever we release we branch and start coding in a new tree and continue to support the existing.

For all the standard reasons we would like to move away from VSS to Vault. The similiar interface makes it the best match. Of course there are differences and merge seems to be one of them.

We are very much an exclusive lock styled team. The hassle of dealing with merging on check-in and other conflicts is just not worth it, especially since we are working in a script based language where code is fairly isolated. This means that merge to us has nothing to do with everyday work, and everything to do about moving a change between versions.

It seems like this is an almost impossible task to do in Vault. Something that is very suprising. I assumed that like VSS I could branch a tree in Vault and Vault would "remember" it for life. There is no "links" tab in vault. Allowing me to easily click individual file and pull or maybe even push a version/changes to different tree.

It appears that the merge status that is greyed out in drop downs is actually only dealing with CVS style committ problems and not version to version ( branch to branch ) style merging. The tool "Merge Branches...." looks to be how to do this. Merge branches only works on folders and generally has so much information I can't use it.

Is there any future plans to make it easier to push individual file changes around between branches? Does Vault store the branch information on the backend but just not display it? Also, I think there should be an easy way in the client to merge two entries regardless of where they are in the tree and save the merged file to disk or check-in over an existing file.

twiggy

Work around

Post by twiggy » Sun Oct 16, 2005 1:29 am

The current workaround, which should make this very clear is this.

Say you have version 1.0 of a file, and version 1.2 of a file in two different tree.

Checkout both files and then launch sgdm.exe ( the diffmerge program ) and choose both of the physical files.

Do the merge, save the file, and check-in in the appropriate space.

If vault could make that doable from the GUI it would save us a lot of time.

twiggy
Posts: 2
Joined: Sun Oct 16, 2005 1:33 pm

quick fix in the interface

Post by twiggy » Mon Oct 17, 2005 3:04 pm

Currently there is a way to do difference between two files that are in different trees.

This brings up diffmerge, but both the left and right pane are in read only mode. If it was possible to get out of read only mode you could merge your changes very easily from here.

Also while in Diff mode doing an automerge would be cool, picking the direction of course.

dan
Posts: 2448
Joined: Wed Dec 17, 2003 5:03 pm
Location: SourceGear
Contact:

Post by dan » Mon Oct 17, 2005 3:35 pm

Yes, if the versions of your files are in different trees, then Vault is setup to work at the folder level rather than the file level. Merge Branches is really what you might want to take a closer look at.

Generally, versions of software are at the folder level, not the file level, so that version 1.2 of a product would correspond to an entire folder at some version number. Generally, teams will fix a bug or two in a labeled/branched version, and then want to move all the fixes from one version back into the trunk, and Merge Branches is designed to do this, and figures out what has changed in each tree.

Post Reply