diff --git a/cook.sh b/cook.sh index f7c044bd1ef8c22a76eab4e9eadad2131d7b4ec1..41d3b76c1a07c898ed66499b2c1163bb51981996 100755 --- a/cook.sh +++ b/cook.sh @@ -31,6 +31,7 @@ function usage { echo " stage" >&2 echo " unstage" >&2 echo " status" >&2 + echo " status_upstream" >&2 echo " tar" >&2 echo " untar" >&2 echo " update" >&2 @@ -121,6 +122,17 @@ function op { git -C source diff --name-status fi ;; + status_upstream) + if [ -n "$GIT_UPSTREAM" ] + then + if [ -n "$BRANCH" ] + then + git -C source diff --name-status "upstream/$BRANCH" + else + git -C source diff --name-status "upstream/master" + fi + fi + ;; update) pushd source > /dev/null skip=0 diff --git a/status_upstream.sh b/status_upstream.sh new file mode 100755 index 0000000000000000000000000000000000000000..defd1c5399e54e2917f93ff0ef7bfa1ade5192c0 --- /dev/null +++ b/status_upstream.sh @@ -0,0 +1,24 @@ +#!/usr/bin/env bash +set -e + +source config.sh + +if [ $# = 0 ] +then + recipes="$(ls -1 recipes)" +else + recipes="$@" +fi + +for recipe in $recipes +do + if [ -d "recipes/$recipe/source" ] + then + status="$(COOK_QUIET=1 ./cook.sh "$recipe" status_upstream)" + + if [ -n "$status" ] + then + echo -e "\e[1m$recipe\e[0m\n$status" + fi + fi +done