feat: add basic Makefile and .gitignore
This commit is contained in:
parent
f924326baf
commit
501395c36e
2 changed files with 47 additions and 0 deletions
1
.gitignore
vendored
Normal file
1
.gitignore
vendored
Normal file
|
|
@ -0,0 +1 @@
|
||||||
|
.bundles/
|
||||||
46
Makefile
Normal file
46
Makefile
Normal file
|
|
@ -0,0 +1,46 @@
|
||||||
|
SHELL = /bin/sh
|
||||||
|
|
||||||
|
ifneq (,$(wildcard .bundle-env))
|
||||||
|
include .bundle-env
|
||||||
|
endif
|
||||||
|
|
||||||
|
ifeq (root,$(shell whoami))
|
||||||
|
check-root = @true
|
||||||
|
else
|
||||||
|
check-root = $(error this target requires root)
|
||||||
|
endif
|
||||||
|
|
||||||
|
ifeq (dom0,$(shell hostname))
|
||||||
|
check-dom0 = @true
|
||||||
|
check-domu = $(error this target must be run in the guest qube)
|
||||||
|
else
|
||||||
|
check-dom0 = $(error this target must be run in dom0)
|
||||||
|
check-domu = @true
|
||||||
|
endif
|
||||||
|
|
||||||
|
BUNDLEOUT := .bundles/dom0.bundle
|
||||||
|
BUNDLEIN := .bundles/domu.bundle
|
||||||
|
|
||||||
|
clean-workdir = git init -q -b $* && git diff --quiet && git diff --cached --quiet || (echo 'dirty tree; check git status' && false)
|
||||||
|
|
||||||
|
create-bundle = git show-ref --verify --quiet refs/remotes/${1}/$* \
|
||||||
|
&& git bundle create $(BUNDLEOUT) $(1)/$*..$* \
|
||||||
|
|| git bundle create $(BUNDLEOUT) $*
|
||||||
|
.PHONY: pull pull/%
|
||||||
|
|
||||||
|
pull: pull/$(shell git branch --show-current)
|
||||||
|
pull%:
|
||||||
|
$(check-dom0)
|
||||||
|
$(clean-workdir)
|
||||||
|
|
||||||
|
qvm-run -p $(GUEST) "cd $(GUEST_REPO) && $(call create-bundle,dom0)" </dev/null
|
||||||
|
|
||||||
|
qvm-run -p $(GUEST) "cat $(GUEST_REPO)/$(BUNDLEIN)" </dev/null >$(BUNDLEIN)
|
||||||
|
|
||||||
|
git remote add $(GUEST) $(BUNDLEIN) || true
|
||||||
|
|
||||||
|
git pull $(GUEST) $*:$*
|
||||||
|
|
||||||
|
qvm-run -p $(GUEST) "cd $(GUEST_REPO) && git update-ref refs/remotes/dom0/$* $*" </dev/null
|
||||||
|
|
||||||
|
@echo "updated branch $* from $(GUEST)"
|
||||||
Loading…
Add table
Add a link
Reference in a new issue