summaryrefslogtreecommitdiff
path: root/t/lib-rebase.sh
diff options
context:
space:
mode:
authorJunio C Hamano <gitster@pobox.com>2013-06-23 14:53:26 -0700
committerJunio C Hamano <gitster@pobox.com>2013-06-23 14:53:27 -0700
commit8ff80a2f0514080a741c19532a094f1fa79dc8e2 (patch)
treee486e0e10e4203a850e6c395f7119ed913677ca3 /t/lib-rebase.sh
parentee64e345b1ac13cbb9c6a2343453fa3fc798367a (diff)
parent984f78d278dd456b12874da1bdf3763e72db8dae (diff)
downloadgit-8ff80a2f0514080a741c19532a094f1fa79dc8e2.tar.gz
Merge branch 'mz/rebase-tests'
* mz/rebase-tests: rebase topology tests: fix commit names on case-insensitive file systems tests: move test for rebase messages from t3400 to t3406 t3406: modernize style add tests for rebasing merged history add tests for rebasing root add tests for rebasing of empty commits add tests for rebasing with patch-equivalence present add simple tests of consistency across rebase types
Diffstat (limited to 't/lib-rebase.sh')
-rw-r--r--t/lib-rebase.sh33
1 files changed, 33 insertions, 0 deletions
diff --git a/t/lib-rebase.sh b/t/lib-rebase.sh
index 6ccf797091..4b74ae460b 100644
--- a/t/lib-rebase.sh
+++ b/t/lib-rebase.sh
@@ -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"
+}