diff --git a/cook.sh b/cook.sh index 41d3b76c1a07c898ed66499b2c1163bb51981996..9d9dfb05227bf26f7321f92c0358825720fb916c 100755 --- a/cook.sh +++ b/cook.sh @@ -22,6 +22,9 @@ function usage { echo " distclean" >&2 echo " build" >&2 echo " clean" >&2 + echo " diff" >&2 + echo " diff_origin" >&2 + echo " diff_upstream" >&2 echo " fetch" >&2 echo " unfetch" >&2 echo " prepare" >&2 @@ -31,6 +34,7 @@ function usage { echo " stage" >&2 echo " unstage" >&2 echo " status" >&2 + echo " status_origin" >&2 echo " status_upstream" >&2 echo " tar" >&2 echo " untar" >&2 @@ -122,6 +126,17 @@ function op { git -C source diff --name-status fi ;; + status_origin) + if [ -n "$GIT" ] + then + if [ -n "$BRANCH" ] + then + git -C source diff --name-status "origin/$BRANCH" + else + git -C source diff --name-status "origin/master" + fi + fi + ;; status_upstream) if [ -n "$GIT_UPSTREAM" ] then @@ -133,6 +148,34 @@ function op { fi fi ;; + diff) + if [ -n "$GIT" ] + then + git -C source diff + fi + ;; + diff_origin) + if [ -n "$GIT" ] + then + if [ -n "$BRANCH" ] + then + git -C source diff "origin/$BRANCH" + else + git -C source diff "origin/master" + fi + fi + ;; + diff_upstream) + if [ -n "$GIT_UPSTREAM" ] + then + if [ -n "$BRANCH" ] + then + git -C source diff "upstream/$BRANCH" + else + git -C source diff "upstream/master" + fi + fi + ;; update) pushd source > /dev/null skip=0 diff --git a/status_origin.sh b/status_origin.sh new file mode 100755 index 0000000000000000000000000000000000000000..cf3e1ab43c9a4659d999778628788cbddd9876b5 --- /dev/null +++ b/status_origin.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_origin)" + + if [ -n "$status" ] + then + echo -e "\e[1m$recipe\e[0m\n$status" + fi + fi +done