我正在构建一个需要项目生态系统(linux、qemu、uboot等)的项目,其中大部分都在git存储库中。我曾经用脚本来管理它们,但是我发现自己实现了更好的make。因此,我决定将我的脚本迁移到makefile。
问题是,我想要被克隆的项目,如果不存在,并拉如果存在。有没有办法在不重复太多的情况下做到这一点?
发布于 2013-08-12 18:09:39
我想像这样的东西会管用的。它不需要工作,因为不依赖于项目目录中的某些内容,我不确定您只能有条件地运行克隆。
force: ;
proj%: force
@echo [ -d $@ ] || git clone srv:$@
@cd $@ && git pull如果您想将类似于proj1/.git/config的内容作为您的入口点prereq,则可以将该克隆拆分为项目目录中具有克隆的那些只订购的prereq。尽管您仍然需要配置prereq上的力来强制拉力发生。
也许是这样的:
proj%:
git clone srv:$@
proj%/.git/config: force | proj%
git pull发布于 2019-10-18 21:06:29
我一直在开发一个Makefile来构建带有假目标的对接者图像,并提出了这样的模式:
.PHONY all
all: foo-docker
foo:
git clone https://example.org/foo-project.git $@
.PHONY: foo-update
foo-update: foo
@cd foo && git pull
.PHONY: foo-docker
foo-docker: foo-update
@cd foo && docker buildhttps://stackoverflow.com/questions/18116003
复制相似问题