dav/main.c

changeset 419
0b48f935f8a6
parent 412
dc74f736aea1
child 421
178dc32c8c9a
equal deleted inserted replaced
418:cfdeeed64ac5 419:0b48f935f8a6
147 || !strcasecmp(cmd, "rm-repo")) { 147 || !strcasecmp(cmd, "rm-repo")) {
148 ret = cmd_remove_repository(args); 148 ret = cmd_remove_repository(args);
149 } else if(!strcasecmp(cmd, "list-repositories") 149 } else if(!strcasecmp(cmd, "list-repositories")
150 || !strcasecmp(cmd, "list-repos")) { 150 || !strcasecmp(cmd, "list-repos")) {
151 ret = list_repositories(); 151 ret = list_repositories();
152 } else if(!strcasecmp(cmd, "repository-url")
153 || !strcasecmp(cmd, "repo-url")) {
154 ret = cmd_repository_url(args);
152 } else if(!strcasecmp(cmd, "version") || !strcasecmp(cmd, "-version") 155 } else if(!strcasecmp(cmd, "version") || !strcasecmp(cmd, "-version")
153 || !strcasecmp(cmd, "--version")) { 156 || !strcasecmp(cmd, "--version")) {
154 fprintf(stderr, "dav %s\n", DAV_VERSION); 157 fprintf(stderr, "dav %s\n", DAV_VERSION);
155 } else { 158 } else {
156 print_usage(argv[0]); 159 print_usage(argv[0]);
245 fprintf(stderr, "\n"); 248 fprintf(stderr, "\n");
246 fprintf(stderr, "Config commands:\n"); 249 fprintf(stderr, "Config commands:\n");
247 fprintf(stderr, " add-repository\n"); 250 fprintf(stderr, " add-repository\n");
248 fprintf(stderr, " remove-repository\n"); 251 fprintf(stderr, " remove-repository\n");
249 fprintf(stderr, " list-repositories\n"); 252 fprintf(stderr, " list-repositories\n");
253 fprintf(stderr, " repository-url\n");
250 fprintf(stderr, " check-config\n"); 254 fprintf(stderr, " check-config\n");
251 fprintf(stderr, "\n"); 255 fprintf(stderr, "\n");
252 fprintf(stderr, 256 fprintf(stderr,
253 "Instead of an url you can pass a repository name " 257 "Instead of an url you can pass a repository name "
254 "with an optional path:\n"); 258 "with an optional path:\n");
1954 } 1958 }
1955 } 1959 }
1956 1960
1957 return -1; 1961 return -1;
1958 } 1962 }
1963
1964 int cmd_repository_url(CmdArgs *args) {
1965 if(args->argc != 1) {
1966 fprintf(stderr, "Too few arguments\n");
1967 fprintf(stderr, "Usage: dav repository-url <name>\n");
1968 return -1;
1969 }
1970
1971 sstr_t reponame = sstr(args->argv[0]);
1972 Repository* repo = get_repository(reponame);
1973 if(repo) {
1974 sstr_t url = sstr(repo->url);
1975 if(url.ptr[url.length-1] == '/') {
1976 printf("%s\n", repo->url);
1977 } else {
1978 printf("%s/\n", repo->url);
1979 }
1980 } else {
1981 fprintf(stderr, "Repository %s does not exist.\n", reponame.ptr);
1982 return -1;
1983 }
1984 }

mercurial