blob: 332d82f59a14864a81002159a6a6baeed9000398 (
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
|