chiark / gitweb /
changelog: Finalise 2.1
[dgit.git] / tests / lib
index 6668a1c72d5bd08b5daccaa94738f2038044ed4c..275d3ef3f2824e89dc64453f41a106d133f5619d 100644 (file)
--- a/tests/lib
+++ b/tests/lib
@@ -21,6 +21,8 @@ END
 
 trap 'test $? = 0 || t-report-failure' EXIT
 
+t-filter-out-git-hyphen-dir
+
 t-set-intree
 
 : ${DGIT_TEST_DEBUG=-D}
@@ -696,11 +698,13 @@ t-stunt-envvar () {
        local var=$1
        local tstunt=$2
        eval '
-               case "'$var'" in
+               case "$'$var'" in
                "$tstunt:"*)    ;;
                *":$tstunt:"*)  ;;
+               "")             '$var'="$tstunt" ;;
                *)              '$var'="$tstunt:$'$var'" ;;
                esac
+               export '$var'
        '
 }
 
@@ -762,6 +766,18 @@ t-gbp-unapplied-pq2qc () {
        git commit -m 'Commit patch queue'
 }
 
+t-git-pseudo-merge () {
+       # like   git merge -s ours
+       if [ ! "$git_pseuomerge_opts" ]; then
+               if git merge --help \
+                | grep -q allow-unrelated-histories; then
+                       git_pseuomerge_opts='--allow-unrelated-histories'
+               fi
+               git_pseuomerge_opts+=' -s ours'
+       fi
+       git merge $git_pseuomerge_opts "$@"
+}
+
 t-gbp-example-prep () {
        t-tstunt-parsechangelog
        t-archive example 1.0-1
@@ -772,7 +788,7 @@ t-gbp-example-prep () {
 
        t-dgit fetch
 
-       git-checkout -b patch-queue/quilt-tip-2 patch-queue/quilt-tip
+       git checkout -b patch-queue/quilt-tip-2 patch-queue/quilt-tip
        gbp pq rebase
 
        echo '/* some comment */' >>src.c
@@ -783,7 +799,7 @@ t-gbp-example-prep () {
 
        t-commit 'some updates' 1.0-2
 
-       git merge -s ours \
+       t-git-pseudo-merge \
                -m 'Pseudo-merge to make descendant of archive' \
                remotes/dgit/dgit/sid
 }