summaryrefslogtreecommitdiff
path: root/make
diff options
context:
space:
mode:
authorJonas Smedegaard <dr@jones.dk>2008-08-15 21:53:30 +0200
committerJonas Smedegaard <dr@jones.dk>2008-08-15 21:53:30 +0200
commit072107161e7955159e8fdbb3fba9b442ceee197a (patch)
treef7119f63ca284833b629944fd48e2fdaabba6bfe /make
parent953e49f1d33a4596be17ae46c1e944de1ddd7143 (diff)
parentf680214fd0302dfe1328b69ab356d3665a18975d (diff)
Merge branch 'master' into _multilang
Diffstat (limited to 'make')
-rw-r--r--make/git.mk19
1 files changed, 14 insertions, 5 deletions
diff --git a/make/git.mk b/make/git.mk
index 072617e..5595057 100644
--- a/make/git.mk
+++ b/make/git.mk
@@ -7,14 +7,23 @@ branches = $(master)
# local name of origin
origin = origin
-currentbranch = $(shell git branch | grep ^\* | awk '{ print $2 }')
-noncurrentbranches = $(filter-out $(currentbranch),$(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)
- $(if $(filter $(currentbranch),$(master)),,git branch -f "$(master)" "$(origin)/$(master)" && git checkout "$(master)")
- git pull "$(origin)"
- $(if $(noncurrentbranches),$(foreach branch,$(noncurrentbranches),git branch -f "$(branch)" "$(origin)/$(branch)" && git checkout "$(branch)" && git pull "$(origin)" &&) git checkout "$(master)")
+ for branch in $(filter-out $(localbranches),$(branches)); do \
+ git branch $$branch $(origin)/$(branch); \
+ done
+ git checkout $(master)
+ git pull $(origin)
+ for branch in $(noncurrentbranches); do \
+ git checkout $(branch); \
+ git pull $(origin); \
+ done
init:
git init