blob: b870f1b52a887a3bf144b11c68f9e1657b4a2920 (
plain)
- # main local branch (the one we want checked out)
- master = master
- # all local branches (including those needed by child clones)
- branches = $(master)
- # local name of origin
- origin = origin
- currentbranch := $(shell git branch | grep \* | awk '{ print $2 }')
- noncurrentbranches = $(filter-out $(currentbranch),$(branches))
- update:
- $(if $(filter $(currentbranch),$(master)),,git checkout "$(master)")
- git pull
- init:
- # Assume that initial cloning is done already when invoking this target
- # git init
- # git remote add -f -t "$(master)" -m "$(master)" origin "$(origin)"
- # git merge origin
- # git config remote.origin.push +"refs/heads/$(master)":"refs/heads/$(master)"
- $(if $(filter $(currentbranch),$(master)),,git branch -f "$(master)" "$(origin)/$(master)")
- $(if $(noncurrentbranches),$(foreach branch,$(noncurrentbranches),git branch -f "$(branch)" "$(origin)/$(branch)" &&) true)
- $(if $(filter $(currentbranch),$(master)),,git checkout -f "$(master)")
- .PHONY: update init
|