[PATCH 14/23] Introduce --tree-same.
---
Documentation/git-test.txt | 2 ++
git-conditions-lib.sh | 12 ++++++++++++
t/t1520-test.sh | 9 +++++++++
3 files changed, 23 insertions(+), 0 deletions(-)
diff --git a/Documentation/git-test.txt b/Documentation/git-test.txt
index e28ed88..6709fdd 100644
--- a/Documentation/git-test.txt
+++ b/Documentation/git-test.txt
@@ -88,6 +88,8 @@ CONDITIONS
Tests if the specified branch is (not) checked out.
'--reachable'|'--not-reachable' first second::
Tests if the first commit is (not) reachable from the second.
+'--tree-same'|'--not-tree-same' first second::
+ Tests if the first commit is (not) tree-same to the second commit.
EXTENDING THE CONDITION LIBRARY
-------------------------------
diff --git a/git-conditions-lib.sh b/git-conditions-lib.sh
index 0223fcd..2b7a5d1 100644
--- a/git-conditions-lib.sh
+++ b/git-conditions-lib.sh
@@ -150,5 +150,17 @@ check_reachable_2()
fi
}
+check_tree_same_2()
+{
+ if git diff-tree --quiet "$1" "$2"
+ then
+ echo "'$1' has the same tree as '$2'."
+ else
+ echo "'$1' does not have the same tree as '$2'."
+ false
+ fi
+
+}
+
fi
diff --git a/t/t1520-test.sh b/t/t1520-test.sh
index 3e33f8a..1fd5122 100755
--- a/t/t1520-test.sh
+++ b/t/t1520-test.sh
@@ -399,4 +399,13 @@ test_expect_success 'git test --not-reachable F C' \
git test --not-reachable F C
'
+test_expect_success 'tree-same' \
+'
+ git test \
+ --tree-same master HEAD \
+ --tree-same D D1 \
+ --not-tree-same C D
+
+'
+
test_done
--
1.7.5.rc1.23.g7f622