about summary refs log tree commit diff
path: root/third_party/git/t/helper/test-write-cache.c
diff options
context:
space:
mode:
Diffstat (limited to 'third_party/git/t/helper/test-write-cache.c')
-rw-r--r--third_party/git/t/helper/test-write-cache.c20
1 files changed, 20 insertions, 0 deletions
diff --git a/third_party/git/t/helper/test-write-cache.c b/third_party/git/t/helper/test-write-cache.c
new file mode 100644
index 0000000000..8837717d36
--- /dev/null
+++ b/third_party/git/t/helper/test-write-cache.c
@@ -0,0 +1,20 @@
+#include "test-tool.h"
+#include "cache.h"
+#include "lockfile.h"
+
+int cmd__write_cache(int argc, const char **argv)
+{
+	struct lock_file index_lock = LOCK_INIT;
+	int i, cnt = 1;
+	if (argc == 2)
+		cnt = strtol(argv[1], NULL, 0);
+	setup_git_directory();
+	read_cache();
+	for (i = 0; i < cnt; i++) {
+		hold_locked_index(&index_lock, LOCK_DIE_ON_ERROR);
+		if (write_locked_index(&the_index, &index_lock, COMMIT_LOCK))
+			die("unable to write index file");
+	}
+
+	return 0;
+}