die("opening /dev/null failed");
close (devnull_fd);
+ if (argc == 2 && (!strcmp(argv[1], "-h") || !strcmp(argv[1], "--help"))) {
+ fprintf(stderr, "%s is a replacement login shell.\n"
+ " May be ran from the command line with one of these options:\n"
+ " -h|--help this text\n"
+ " -v|--version program version string\n"
+ " -t|--test <user> <repo> test access\n"
+ " -d|--detail <user> <repo> test access, outputting more detail\n"
+ , argv[0]);
+ return 0;
+ }
+
if (argc == 2 && (!strcmp(argv[1], "-v") || !strcmp(argv[1], "--version"))) {
fprintf(stderr, "%s\n", version);
return 0;
return 1;
}
- if ((!strcmp(argv[1], "-t") || !strcmp(argv[1], "--test"))) {
+ if ((!strcmp(argv[1], "-d") || !strcmp(argv[1], "--detail"))) {
perms_t p;
if (argc !=4)
- die("usage: %s -t <user> <repo>", argv[0]);
+ die("usage: %s -d|--detail <user> <repo>", argv[0]);
p = git_acl(argv[2], argv[3], cfg.git_acl_file);
fprintf(stderr,
"user '%s' repo '%s' perms '%s'\n via userid '%s' repoid '%s'\n",
return 0;
}
+ if ((!strcmp(argv[1], "-t") || !strcmp(argv[1], "--test"))) {
+ perms_t p;
+
+ if (argc !=4)
+ die("usage: %s -t|--test <user> <repo>", argv[0]);
+ p = git_acl(argv[2], argv[3], cfg.git_acl_file);
+ printf("%s\n", git_acl_perms_as_str(p));
+ return 0;
+ }
+
if (argc == 3) {
/* argv[0] = repo_shell, argv[1] = -c, argv[2] = cmd
* cmd = "svnserve -t" or "git-xxx '/path/to/repo.git'"