about summary refs log tree commit diff
path: root/t/helper/test-subprocess.c
diff options
context:
space:
mode:
Diffstat (limited to 't/helper/test-subprocess.c')
-rw-r--r--t/helper/test-subprocess.c20
1 files changed, 20 insertions, 0 deletions
diff --git a/t/helper/test-subprocess.c b/t/helper/test-subprocess.c
new file mode 100644
index 0000000000..92b69de635
--- /dev/null
+++ b/t/helper/test-subprocess.c
@@ -0,0 +1,20 @@
+#include "test-tool.h"
+#include "cache.h"
+#include "run-command.h"
+
+int cmd__subprocess(int argc, const char **argv)
+{
+	struct child_process cp = CHILD_PROCESS_INIT;
+	int nogit = 0;
+
+	setup_git_directory_gently(&nogit);
+	if (nogit)
+		die("No git repo found");
+	if (argc > 1 && !strcmp(argv[1], "--setup-work-tree")) {
+		setup_work_tree();
+		argv++;
+	}
+	cp.git_cmd = 1;
+	cp.argv = (const char **)argv + 1;
+	return run_command(&cp);
+}