blob: 2c8c8274a496e33b3ffd6ca6b3419c7f18795377 (
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
- allbranches = $(sort $(master) $(branches))
- currentbranch := $(shell git branch | grep ^\* | awk '{ print $2 }')
- noncurrentbranches := $(filter-out $(currentbranch),$(branches))
- #originbranches := $(shell git branch -r | perl -ne 'm,^.\s+'"$$origin"'/([a-z_]\S+)$, && print "$$1\n"' )
- localbranches := $(shell git branch | perl -ne 'm,^.\s+([a-z_]\S+)$$, && print "$$1\n"' )
- update:
- git fetch $(origin)
- for branch in $(filter-out $(localbranches),$(allbranches)); do \
- git branch $$branch $(origin)/$$branch; \
- done
- for branch in $(noncurrentbranches); do \
- git checkout $$branch; \
- git pull $(origin); \
- done
- git checkout $(master)
- git pull $(origin)
- init:
- git init
- git remote add -f -m "$(master)" origin "$(origin)"
- git merge origin
- # git config remote.origin.push +"refs/heads/$(master)":"refs/heads/$(master)"
- .PHONY: update init
|