Binary files: worth branching or not?
Moderator: SourceGear
Binary files: worth branching or not?
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.
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.
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.lbauer wrote:What's the purpose of your branching? To maintain releases? Do QA? That might help us answer your question.
So the branch is a kind of "snapshot at a point in time" of the current version. Hope it's clearer now. Thanks.
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."
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
SourceGear
Technical Support Manager
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.