I know the title is bad but I didn't know how else to phrase it.
IF SOMEONE THINKS OF A BETTER TITLE, FEEL FREE TO EDIT OR PUT A COMMENT WITH A SUGGESTION
SCENARIO
You want to test out different branches of a common trunk and you want to build them simultaneously. Unfortunately a single checkout of the code is 10GB.
IDEALLY
You checkout the common ancestor of the branches and then you obtain the .patch
files for each of those branches.
IMPORTANT: YOUR BUILD SYSTEM IS OUT-OF-PLACE.
Then you'd input the patch as an argument to … some other executable that would create a virtual file system for the build containing that patch plus your base ancestor revision.
QUESTION
Does such a utility exist?
Unfortunately Docker isn't an option because on Windows rocker is only on Windows 10.
There are many approaches for doing that on windows, the simplest one to achive that is to acquire windows 10 with UFW feature.
Another approach is to use some sort of virtualization software. For example, Virtualbox has differencing images feature, what allow to create base disk image for single checkout and differencing disk image for every patch. Virtualbox can run on linux, mac os and windows hosts. And you can run windows and linux guests inside. It is possible to automate virtual machine creation using VBoxManage utility so you can make tests automated.
Here is another solution what might help. The is overlayfs feature for linux than allow to create overlay folders over single checkout. It is possible to setup overlayfs for windows using linux and virtualbox. For doing that you have to install virtualbox, install ubuntu inside it, checkout project, make overlays for patches, share overlay folders to windows and run build on windows. But I guess UFW will be much faster.