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 } |