使用不同补丁但只有一个存储库签出的多个同时构建

时间:2017-02-04 03:17:23

标签: makefile gnu-make virtualfilesystem docker-for-windows

我知道标题很糟糕,但我不知道怎么说出来。

若有人认为有更好的标题,请自由编辑或提出建议

SCENARIO

您想要测试公共中继线的不同分支,并且您希望同时构建它们。不幸的是,单个结账代码是10GB。

理想地

您检查分支的共同祖先,然后为每个分支获取.patch个文件。

重要提示:您的构建系统是不合适的。

然后你输入补丁作为参数...一些其他可执行文件,它将为包含该补丁的构建创建一个虚拟文件系统加上你的基础祖先修订版。

问题

这样的实用程序是否存在?
不幸的是,Docker不是一个选择,因为Windows摇杆只在Windows 10上。

2 个答案:

答案 0 :(得分:2)

在Windows上有很多种方法,最简单的方法是获取具有UFW功能的Windows 10。

另一种方法是使用某种虚拟化软件。例如,Virtualbox具有differencing images功能,允许为单个检出创建基本磁盘映像,并为每个补丁创建差异磁盘映像。 Virtualbox可以在linux,mac os和windows主机上运行。你可以在里面运行windows和linux客户端。可以使用VBoxManage实用程序自动创建虚拟机,这样您就可以自动进行测试。

这是另一种可能有用的解决方案。 linux的overlayfs功能比允许在单个结账时创建覆盖文件夹。可以使用linux和virtualbox为windows设置overlayfs。为此,您必须安装virtualbox,在其中安装ubuntu,checkout项目,为补丁制作叠加层,将覆盖文件夹共享到Windows并在Windows上运行构建。但我想UFW会快得多。

答案 1 :(得分:0)

ClearCase提供多版本文件系统支持(https://en.wikipedia.org/wiki/Rational_MultiVersion_File_System)。适用于UNIX,但不确定它是否适用于Windows。