diff --git a/make/git-submod.mk b/make/git-submod.mk index 5299b81f..2aedbefd 100644 --- a/make/git-submod.mk +++ b/make/git-submod.mk @@ -1,32 +1,29 @@ -GIT_SRV_ADMIN_SH = ssh $(JANWARE_USER)@git.jannet.de /opt/jw-build/bin/git-srv-admin.sh +# - Clone remote repo into / +# - Add the following to /Makefile: +# - SUBMOD_SRC_DIR = ./ +# - include +# - run git-init-submod-remote + +GIT_SRV_ADMIN_SH = ssh $(JANWARE_USER)@git.jannet.de /opt/jw-build/bin/git-srv-admin.sh +GIT_REPO_URL = ssh://$(JANWARE_USER)@git.jannet.de/srv/git/$(JANWARE_USER)/contrib/$(PROJECT_DIRNAME) +SUBMOD_PATH = $(patsubst $(abspath $(TOPDIR))/%,%,$(abspath $(shell pwd)/$(SUBMOD_SRC_DIR))) +SUBMOD_SRC_DIR ?= . +SUB_GIT = git -C $(SUBMOD_SRC_DIR) all: install: clean: distclean: -SUBMOD_SRC_DIR ?= . -export GIT_EXEC_PATH = $(SUBMOD_SRC_DIR) - -git-submod-init-remote: - @echo "FIXME: git-srv-admin.sh needs to support creating a bare repo below /contrib/." - @echo "FIXME: Then this target in $(lastword $(MAKEFILE_LIST)) has to do the following:" - @echo "FIXME: - Use that," - @echo "FIXME: - rename remote \"origin\" to \"upstream\", # git remote rename origin upstream" - @echo "FIXME: - add new remote origin pointing to newly created repo, # git remote add origin ssh://$(JANWARE_USER)@git.jannet.de/srv/git/$(JANWARE_USER)/contrib/" - @echo "FIXME: - fix remote to push to # git config branch.master.remote origin" - @echo "FISME: - set standard branch (should be okay anyway) # git config branch.master.merge refs/heads/master" - @echo "FIXME: - push contents there." - @exit 1 - -git-submod-test-init-remote: +git-init-submod-remote: $(GIT_SRV_ADMIN_SH) -F contrib create-repo $(PROJECT_DIRNAME) - git remote rename origin upstream - git remote add origin ssh://$(JANWARE_USER)@git.jannet.de/srv/git/$(JANWARE_USER)/contrib/$(PROJECT_DIRNAME) - git config branch.master.remote origin - git config branch.master.merge refs/heads/master - git push origin master - @echo "FIXME: after this procedure I had to manually change the remote in the toplevel project's directory .gitmodules to point to the janware server" - @echo "FIXME: - push contents there." - @exit 1 + $(SUB_GIT) remote rename origin upstream + $(SUB_GIT) remote set-url --push upstream no-push + $(SUB_GIT) remote add origin $(GIT_REPO_URL) + $(SUB_GIT) config branch.master.remote origin + $(SUB_GIT) config branch.master.merge refs/heads/master + $(SUB_GIT) push origin master + git -C $(TOPDIR) submodule add -f $(GIT_REPO_URL) $(SUBMOD_PATH) + git submodule init + git commit -am "Add git submodule $(SUBMOD_PATH)" $(SUBMOD_SRC_DIR) $(TOPDIR)/.gitmodules