wrap-for-bin: make bin-wrappers chainable
[gitweb.git] / t / lib-rebase.sh
index 6ccf7970916b58748aedcce7e583eed2dee782d3..4b74ae460b8943c176b6563d374e1663f89a1d7b 100644 (file)
@@ -65,3 +65,36 @@ EOF
        test_set_editor "$(pwd)/fake-editor.sh"
        chmod a+x fake-editor.sh
 }
+
+# checks that the revisions in "$2" represent a linear range with the
+# subjects in "$1"
+test_linear_range () {
+       revlist_merges=$(git rev-list --merges "$2") &&
+       test -z "$revlist_merges" &&
+       expected=$1
+       set -- $(git log --reverse --format=%s "$2")
+       test "$expected" = "$*"
+}
+
+reset_rebase () {
+       test_might_fail git rebase --abort &&
+       git reset --hard &&
+       git clean -f
+}
+
+cherry_pick () {
+       git cherry-pick -n "$2" &&
+       git commit -m "$1" &&
+       git tag "$1"
+}
+
+revert () {
+       git revert -n "$2" &&
+       git commit -m "$1" &&
+       git tag "$1"
+}
+
+make_empty () {
+       git commit --allow-empty -m "$1" &&
+       git tag "$1"
+}