From: lufia <lu...@lufia.org>

Plan 9 has bind(1) instead of ln(1), but bind isn't persisted to the disk.
However it isn't efficient to copy git to git- subcommands such as git-add.
Therefore Plan 9 needs wrap.c to switch behavior by executable name.

Signed-off-by: lufia <lu...@lufia.org>
---
 plan9/wrap.c | 16 ++++++++++++++++
 1 file changed, 16 insertions(+)
 create mode 100644 plan9/wrap.c

diff --git a/plan9/wrap.c b/plan9/wrap.c
new file mode 100644
index 0000000000..589d13bf5d
--- /dev/null
+++ b/plan9/wrap.c
@@ -0,0 +1,16 @@
+#include <stdio.h>
+#include <errno.h>
+#include <string.h>
+#define _POSIX_SOURCE
+#include <unistd.h>
+
+int
+main(int argc, char *argv[])
+{
+       USED(argc);
+       if(execv("/bin/git", argv) < 0){
+               fprintf(stderr, "%s: %s\n", argv[0], strerror(errno));
+               return 1;
+       }
+       return 0; /* can't happen */
+}
-- 
gitgitgadget

Reply via email to