X-Git-Url: http://www.chiark.greenend.org.uk/ucgi/~ianmdlvl/git?p=dgit.git;a=blobdiff_plain;f=tests%2Flib;h=36237a7485ed008f136ff4afd1c03dd2f3f3a6e5;hp=9b8894ef74b60569b77c46da8753c5bab0474bd2;hb=fbc24ade1654c35ac59f8c6f4ebaaba0e65930ee;hpb=dce35223f0ded3dfaa1acb4a6ad62d8ab840ddf9 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