<< Back to previous view

[QB-3180] Support single branch git clone
Created: 09/May/18  Updated: 24/Jan/19

Status: Closed
Project: QuickBuild
Component/s: None
Affects Version/s: 8.0.4
Fix Version/s: None

Type: New Feature Priority: Critical
Reporter: AlSt Assigned To: Robin Shen
Resolution: Won't Fix Votes: 0
Remaining Estimate: Unknown Time Spent: Unknown
Original Estimate: Unknown


 Description   
Thanks for adding --no-single-branch in case of depth != 0.

One idea we had and which also would help us when different configurations build different git branches:

A checkbox with "Clone only specified branch" in the additional options of the git repository.

This would be applied without taking the depth parameter into account. The only thing to consider here is that if depth != 0 the "--no-single-branch" option is now added, but must not be added if --branch=xy is specified in the command line.

so if the checkbox is not checked the command would look similar to
when depth != 0: git clone --depth=50 --no-single-branch <url>
when depth == 0: git clone <url>

if the checkbox is checked:
when depth != 0: git clone --depth=50 --branch=my-release-branch <url>
when depth == 0: git clone --branch=my-release-branch <url>

and the concern was that it would be confusing when a second branch option is introduced. But I think a checkbox with a meaningful description would not be a problem.

If you have any question, please do not hesitate to ask.

And just as a little side note why this would help us a lot: These
full clone without depth 719 MB

depth all branches master-only release-branch-only
00001 157 MB 71 MB 57 MB
00010 192 MB 74 MB 57 MB
00100 283 MB 265 MB 117 MB
01000 295 MB 278 MB 122 MB
10000 362 MB 345 MB 162 MB

So a single branch clone with specified branch would help us a lot as we have tons of configurations

 Comments   
Comment by AlSt [ 09/May/18 02:12 PM ]
Please mind that the git clone options might not be exactly the right ones as I wrote that down from memory. Maybe I added too much dashes etc.
Comment by AlSt [ 11/Jun/18 06:37 AM ]
Any opinions on this?
Comment by Robin Shen [ 12/Jun/18 12:34 AM ]
QB has to retrieve all branches to calculate changes reliably (previous build might on a different branch). Also adding this specific option is quite confusing considering all other existing options in git repository definition.
Comment by AlSt [ 12/Jun/18 05:17 AM ]
I would say that lies in the responsibility of the user to only use the defined config for a specific branch. And I also think as an advanced option with appropriate description this should not be a problem for other users. For us it would ease the situation a lot in regard to disk space as you can see in the table above.
Comment by AlSt [ 10/Sep/18 09:28 AM ]
This basically hit us now pretty hard. We really would like to have such option.

We got some test artifacts checked in which consume around a GB of disk space per configuration and are reachable in just one branch within the last 100 commits.

When we're able to just have --branch=master this would ease our current situation a lot.
Comment by Robin Shen [ 24/Jan/19 07:40 AM ]
This will be covered by QB-3329
Generated at Mon May 06 07:21:22 UTC 2024 using JIRA 189.