summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorThomas Rast <trast@student.ethz.ch>2011-12-06 18:43:35 +0100
committerJunio C Hamano <gitster@pobox.com>2011-12-06 14:52:18 -0800
commit1aed2fe394f45fed7b97e268cfa11d25c3d8da27 (patch)
tree3a70f5da08bd125fb73dce73a6847d57b6dfe20f
parent406da7803217998ff6bf5dc69c55b1613556c2f4 (diff)
downloadgit-1aed2fe394f45fed7b97e268cfa11d25c3d8da27.tar.gz
Add test-scrap-cache-tree
A simple utility that invalidates all existing cache-tree data. We need this for tests. (We don't need a tool to rebuild the cache-tree data; git read-tree HEAD works for that.) Signed-off-by: Thomas Rast <trast@student.ethz.ch> Signed-off-by: Junio C Hamano <gitster@pobox.com>
-rw-r--r--.gitignore1
-rw-r--r--Makefile1
-rw-r--r--test-scrap-cache-tree.c17
3 files changed, 19 insertions, 0 deletions
diff --git a/.gitignore b/.gitignore
index 8572c8c0b0..122336c504 100644
--- a/.gitignore
+++ b/.gitignore
@@ -171,6 +171,7 @@
/test-date
/test-delta
/test-dump-cache-tree
+/test-scrap-cache-tree
/test-genrandom
/test-index-version
/test-line-buffer
diff --git a/Makefile b/Makefile
index b1c80a678b..b9400bcad3 100644
--- a/Makefile
+++ b/Makefile
@@ -435,6 +435,7 @@ TEST_PROGRAMS_NEED_X += test-ctype
TEST_PROGRAMS_NEED_X += test-date
TEST_PROGRAMS_NEED_X += test-delta
TEST_PROGRAMS_NEED_X += test-dump-cache-tree
+TEST_PROGRAMS_NEED_X += test-scrap-cache-tree
TEST_PROGRAMS_NEED_X += test-genrandom
TEST_PROGRAMS_NEED_X += test-index-version
TEST_PROGRAMS_NEED_X += test-line-buffer
diff --git a/test-scrap-cache-tree.c b/test-scrap-cache-tree.c
new file mode 100644
index 0000000000..4728013910
--- /dev/null
+++ b/test-scrap-cache-tree.c
@@ -0,0 +1,17 @@
+#include "cache.h"
+#include "tree.h"
+#include "cache-tree.h"
+
+static struct lock_file index_lock;
+
+int main(int ac, char **av)
+{
+ int fd = hold_locked_index(&index_lock, 1);
+ if (read_cache() < 0)
+ die("unable to read index file");
+ active_cache_tree = NULL;
+ if (write_cache(fd, active_cache, active_nr)
+ || commit_lock_file(&index_lock))
+ die("unable to write index file");
+ return 0;
+}