X-Git-Url: https://git.cworth.org/git?a=blobdiff_plain;ds=sidebyside;f=test%2FT850-git.sh;h=831e4678ef18a1ddc3c13378a0ae6d46d757d062;hb=HEAD;hp=55cec78a16391b3f01e4139d5086729ca7f94bfb;hpb=bf5eacbe7e5b852e030e6a05469dbc9eae48535e;p=notmuch diff --git a/test/T850-git.sh b/test/T850-git.sh index 55cec78a..2591521b 100755 --- a/test/T850-git.sh +++ b/test/T850-git.sh @@ -2,7 +2,7 @@ test_description='"notmuch git" to save and restore tags' . $(dirname "$0")/test-lib.sh || exit 1 -if [ $NOTMUCH_HAVE_SFSEXP -ne 1 ]; then +if [ "${NOTMUCH_HAVE_SFSEXP-0}" != "1" ]; then printf "Skipping due to missing sfsexp library\n" test_done fi @@ -213,6 +213,51 @@ cat < EXPECTED EOF test_expect_equal_file EXPECTED OUTPUT +test_begin_subtest "reset" +notmuch git -C reset.git -p '' clone remote.git +notmuch git -C reset.git checkout --force +notmuch tag +test4 id:20091117190054.GU3165@dottiness.seas.harvard.edu +notmuch git -C remote.git commit --force +notmuch tag -test4 id:20091117190054.GU3165@dottiness.seas.harvard.edu +notmuch git -C reset.git fetch +notmuch git -C reset.git reset +notmuch git -C reset.git checkout --force +notmuch dump id:20091117190054.GU3165@dottiness.seas.harvard.edu | grep -v '^#' > OUTPUT +cat < EXPECTED ++inbox +signed +test2 +test3 +test4 +unread -- id:20091117190054.GU3165@dottiness.seas.harvard.edu +EOF +test_expect_equal_file EXPECTED OUTPUT + +test_begin_subtest "reset (require force for large change)" +notmuch git -C reset2.git -p '' clone remote.git +notmuch git -C reset2.git checkout --force +notmuch tag +test5 '*' +notmuch git -C remote.git commit --force +notmuch tag -test5 '*' +notmuch git -C reset2.git fetch +test_expect_code 1 "notmuch git -C reset2.git -l debug reset" + +test_begin_subtest "reset (don't require force for large change to one message)" +notmuch git -C reset3.git -p '' clone remote.git +notmuch git -C reset3.git checkout --force +notmuch dump id:20091117190054.GU3165@dottiness.seas.harvard.edu > BEFORE +for tag in $(seq 1 100); do + notmuch tag +$tag id:20091117190054.GU3165@dottiness.seas.harvard.edu +done +notmuch git -C remote.git commit --force +notmuch restore < BEFORE +notmuch git -C reset3.git fetch +test_expect_code 0 "notmuch git -C reset3.git -l debug reset" + +test_begin_subtest "reset --force" +notmuch git -C reset4.git -p '' clone remote.git +notmuch git -C reset4.git checkout --force +notmuch tag +test6 '*' +notmuch git -C remote.git commit --force +notmuch tag -test6 '*' +notmuch git -C reset4.git fetch +test_expect_code 0 "notmuch git -C reset4.git -l debug reset --force" + test_begin_subtest "environment passed through when run as 'notmuch git'" env NOTMUCH_GIT_DIR=foo NOTMUCH_GIT_PREFIX=bar NOTMUCH_PROFILE=default notmuch git -C tags.git -p '' -ldebug status |& \ grep '^env ' | notmuch_dir_sanitize > OUTPUT @@ -233,6 +278,7 @@ EOF test_expect_equal_file EXPECTED OUTPUT test_begin_subtest "invoke as nmbug sets defaults" +test_subtest_broken_for_installed "$NOTMUCH_BUILDDIR"/nmbug -ldebug status |& grep '^\(prefix\|repository\)' | notmuch_dir_sanitize > OUTPUT cat < EXPECTED prefix = notmuch:: @@ -241,6 +287,7 @@ EOF test_expect_equal_file EXPECTED OUTPUT test_begin_subtest "env variable NOTMUCH_GIT_DIR works when invoked as nmbug" +test_subtest_broken_for_installed NOTMUCH_GIT_DIR=`pwd`/foo "$NOTMUCH_BUILDDIR"/nmbug -ldebug status |& grep '^repository' | notmuch_dir_sanitize > OUTPUT cat < EXPECTED repository = CWD/foo @@ -256,6 +303,7 @@ test_expect_equal_file EXPECTED OUTPUT test_begin_subtest "env variable NOTMUCH_GIT_DIR overrides config when invoked as 'nmbug'" +test_subtest_broken_for_installed notmuch config set git.path `pwd`/bar NOTMUCH_GIT_DIR=`pwd`/remote.git "$NOTMUCH_BUILDDIR"/nmbug -ldebug status |& grep '^repository' | notmuch_dir_sanitize > OUTPUT notmuch config set git.path @@ -274,6 +322,7 @@ EOF test_expect_equal_file EXPECTED OUTPUT test_begin_subtest "env variable NOTMUCH_GIT_PREFIX works when invoked as 'nmbug'" +test_subtest_broken_for_installed NOTMUCH_GIT_PREFIX=env:: "$NOTMUCH_BUILDDIR"/nmbug -ldebug status |& grep '^prefix' | notmuch_dir_sanitize > OUTPUT cat < EXPECTED prefix = env:: @@ -281,6 +330,7 @@ EOF test_expect_equal_file EXPECTED OUTPUT test_begin_subtest "env variable NOTMUCH_GIT_PREFIX works when invoked as nmbug" +test_subtest_broken_for_installed NOTMUCH_GIT_PREFIX=foo:: "$NOTMUCH_BUILDDIR"/nmbug -ldebug status |& grep '^prefix' | notmuch_dir_sanitize > OUTPUT cat < EXPECTED prefix = foo:: @@ -288,6 +338,7 @@ EOF test_expect_equal_file EXPECTED OUTPUT test_begin_subtest "env variable NOTMUCH_GIT_PREFIX overrides config when invoked as 'nmbug'" +test_subtest_broken_for_installed notmuch config set git.tag_prefix config:: NOTMUCH_GIT_PREFIX=env:: "$NOTMUCH_BUILDDIR"/nmbug -ldebug status |& grep '^prefix' | notmuch_dir_sanitize > OUTPUT notmuch config set git.path @@ -305,7 +356,6 @@ prefix = env:: EOF test_expect_equal_file EXPECTED OUTPUT - test_begin_subtest "init, xdg default location" repo=home/.local/share/notmuch/default/git notmuch git -ldebug init |& grep '^repository' | notmuch_dir_sanitize > OUTPUT