# - Clone remote repo into / # - Add the following to /Makefile: # - SUBMOD_SRC_DIR = ./ # - include # - run git-init-submod-remote ifeq ($(USE_USER_URL),true) JANWARE_USER_PREFIX = $(JANWARE_USER)@ endif SUBMOD_SRC_DIR ?= . GIT_SRV_ADMIN_SH = ssh $(JANWARE_USER_PREFIX)git.janware.com /opt/jw-pkg/bin/git-srv-admin.sh GIT_REPO_URL = ssh://$(JANWARE_USER_PREFIX)git.janware.com/srv/git/$(JANWARE_USER)/contrib/$(SUBMOD_PKG_NAME) SUBMOD_PATH = $(patsubst $(abspath $(TOPDIR))/%,%,$(abspath $(CWD)/$(SUBMOD_SRC_DIR))) SUB_GIT = git -C $(SUBMOD_SRC_DIR) ifneq ($(wildcard $(SUBMOD_SRC_DIR)/.git),) SUBMOD_PKG_NAME := $(shell $(SUB_GIT) remote -v | sed -n 's/^[a-zA-Z_]\+\s//; s/ *.*//; s%.*/%%; s%\.git%%; 1p') SUBMOD_MAIN_BRANCH := $(firstword $(shell $(SUB_GIT) branch --format '%(refname:lstrip=2)')) endif include $(JWBDIR)/make/defs.mk all: install: clean: distclean: git-init-submod-remote: [ "$(SUBMOD_PKG_NAME)" ] # SUBMOD_PKG_NAME [ "$(SUBMOD_MAIN_BRANCH)" ] # SUBMOD_MAIN_BRANCH [ "$(SUBMOD_SRC_DIR)" ] # SUBMOD_SRC_DIR [ "$(SUBMOD_PATH)" ] # SUBMOD_PATH [ "$(GIT_REPO_URL)" ] # GIT_REPO_URL $(GIT_SRV_ADMIN_SH) -F contrib create-repo $(SUBMOD_PKG_NAME) $(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.$(SUBMOD_MAIN_BRANCH).remote origin $(SUB_GIT) config branch.$(SUBMOD_MAIN_BRANCH).merge refs/heads/$(SUBMOD_MAIN_BRANCH) $(SUB_GIT) push origin $(SUBMOD_MAIN_BRANCH) git -C $(TOPDIR) submodule add -f $(GIT_REPO_URL) $(SUBMOD_PATH) git submodule init git commit -m "Add git submodule $(SUBMOD_PATH)" $(SUBMOD_SRC_DIR) $(TOPDIR)/.gitmodules