From: Ian Jackson Date: Tue, 30 Aug 2016 00:37:06 +0000 (+0100) Subject: Test suite: Provide t-sametree-parent X-Git-Tag: archive/debian/2.0~194 X-Git-Url: http://www.chiark.greenend.org.uk/ucgi/~ianmdlvl/git?p=dgit.git;a=commitdiff_plain;h=fbc24ade1654c35ac59f8c6f4ebaaba0e65930ee Test suite: Provide t-sametree-parent Signed-off-by: Ian Jackson --- diff --git a/tests/lib b/tests/lib index 9b8894ef..36237a74 100644 --- a/tests/lib +++ b/tests/lib @@ -508,6 +508,28 @@ t-v-tag () { echo refs/tags/$tagpfx/${v//\~/_} } +t-format-ref () { + git log -n1 --pretty=format:"$1" "$2" +} + +t-sametree-parent () { + local ref=$1 + local parent + local ctree=$(t-format-ref '%T' "$ref") + while :; do + local psame='' + for parent in $(t-format-ref '%P' "$ref"); do + local ptree=$(t-format-ref '%T' "$parent") + if [ "x$ptree" = "x$ctree" ]; then + psame+=" $parent" + fi + done + case "$psame" in ""|" * *") break ;; esac + ref="${psame# }" + done + echo "$ref" +} + t-check-pushed-master () { local master=`t-git-get-ref refs/heads/master` if [ x$master = x$t_ref_val ]; then return; fi