#include "test-tool.h"
#include "cache.h"
#include "lockfile.h"

static struct lock_file index_lock;

int cmd__write_cache(int argc, const char **argv)
{
	int i, cnt = 1, lockfd;
	if (argc == 2)
		cnt = strtol(argv[1], NULL, 0);
	setup_git_directory();
	read_cache();
	for (i = 0; i < cnt; i++) {
		lockfd = hold_locked_index(&index_lock, LOCK_DIE_ON_ERROR);
		if (0 <= lockfd) {
			write_locked_index(&the_index, &index_lock, COMMIT_LOCK);
		} else {
			rollback_lock_file(&index_lock);
		}
	}

	return 0;
}
