Binary files: worth branching or not?

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

Moderator: SourceGear

Locked
Tri
Posts: 288
Joined: Wed Dec 22, 2004 11:10 am

Binary files: worth branching or not?

Post by Tri » Thu Jul 03, 2008 7:33 pm

Hi,

Using Vault Server & Client v3.53.

Scenario: Branching the Vault Folder named "MyProject". It contains several Visual Studio solutions, and some subfolders containing mostly mergeable files. The VS solutions reference some external DLLs
(3rd party and in house assemblies) totalling 5 MB in size. These DLLs are most of time static. These DLLs are checked in to a Vault folder named "DependentDLL" which is located outside of "MyProject" folder.

Question 1: When I branch "MyProject" folder, how should I handle the "DependentDLL" folder? Or exactly what is the good practice for dealing with binary files when branching?

Question 2: Binary files are not mergeable, is there any benefit to branch?

Question 3: If I do branch the "DependentDLL" folder, for the purpose of keeping everything of the same release under the same target branch folder. What is the real storage cost in Vault database? Another 5 MB or almost zero?

Thanks in advance for any help.

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

Post by lbauer » Mon Jul 07, 2008 8:08 am

What's the purpose of your branching? To maintain releases? Do QA? That might help us answer your question.
Linda Bauer
SourceGear
Technical Support Manager

Tri
Posts: 288
Joined: Wed Dec 22, 2004 11:10 am

Post by Tri » Mon Jul 07, 2008 9:05 am

lbauer wrote:What's the purpose of your branching? To maintain releases? Do QA? That might help us answer your question.
To do release. The branch will contain a snapshot of the current version we deem stable for a release. Subsequently, on there will be possibly some minor code changes in the release that we'll decide on whether or not to merge back into the main trunk which contain the current version.

So the branch is a kind of "snapshot at a point in time" of the current version. Hope it's clearer now. Thanks.

Tri
Posts: 288
Joined: Wed Dec 22, 2004 11:10 am

Post by Tri » Wed Jul 16, 2008 8:06 am

Any update? Or may be can you just answer to Q3 which is pure Vault technical question. Thanks.

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

Post by lbauer » Wed Jul 16, 2008 3:32 pm

If the files are only 5 MB, then we'd suggest just branching. There's a benefit to having everything you need under the target branch, rather than having to browse the tree to get files you need.

The branched files will take up the same amount of space in the database as it would if the files were a new "add."
Linda Bauer
SourceGear
Technical Support Manager

Balthazor
Posts: 81
Joined: Fri Mar 11, 2005 4:10 pm
Location: Hartford, Wisconsin

Post by Balthazor » Mon Jul 21, 2008 3:33 pm

Tri, be aware that when you branch in Vault, the modification date on the files will be changed to the date that the branch was made. My guess is you probably don't want to give your DLLs a new date stamp every time you branch.

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

Post by lbauer » Mon Jul 21, 2008 4:09 pm

This will change in Vault 4.1.3, due out in a few weeks. Users will have the option to use Current Time or Use Source Modification Time for the items in the branch.
Linda Bauer
SourceGear
Technical Support Manager

Balthazor
Posts: 81
Joined: Fri Mar 11, 2005 4:10 pm
Location: Hartford, Wisconsin

Post by Balthazor » Tue Jul 22, 2008 7:39 am

Excellent! That's good news. Thanks for the update.

Beth
Posts: 8550
Joined: Wed Jun 21, 2006 8:24 pm
Location: SourceGear
Contact:

Post by Beth » Tue Jul 22, 2008 9:20 am

Just let us know if you have any further questions.

Tri
Posts: 288
Joined: Wed Dec 22, 2004 11:10 am

Post by Tri » Thu Jul 24, 2008 9:09 am

Thanks for all the info and also to Balthazor for bringing the DLL date change issue.

One more question: if the branched file is mergeable (text based) would that still take the same amount of DB storage space than the original file? As if it was added as new file?

Beth
Posts: 8550
Joined: Wed Jun 21, 2006 8:24 pm
Location: SourceGear
Contact:

Post by Beth » Thu Jul 24, 2008 1:18 pm

A branch does not duplicate the file. In order for the branch to make a file, it takes all the deltas after the branch and all the deltas prior to the branch and applies them to the original file. A branch will just point to a different set of deltas being applied than what the original has applied to the original file. This is why you can't delete the folder that a branch was made from.

Locked