Allow curl helper to work without a local repository

It's okay to use the curl helper without a local repository, so long
as you don't use "fetch". There aren't any git programs that would try
to use it, and it doesn't make sense to try it (since there's nowhere
to write the results), but we may as well be clear.

Signed-off-by: Daniel Barkalow <barkalow@iabervon.org>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
This commit is contained in:
Daniel Barkalow 2009-11-03 21:52:35 -05:00 коммит произвёл Junio C Hamano
Родитель c1d45cf7b0
Коммит a45d3d7eff
1 изменённых файлов: 4 добавлений и 1 удалений

Просмотреть файл

@ -82,9 +82,10 @@ int main(int argc, const char **argv)
struct strbuf buf = STRBUF_INIT; struct strbuf buf = STRBUF_INIT;
const char *url; const char *url;
struct walker *walker = NULL; struct walker *walker = NULL;
int nongit;
git_extract_argv0_path(argv[0]); git_extract_argv0_path(argv[0]);
setup_git_directory(); setup_git_directory_gently(&nongit);
if (argc < 2) { if (argc < 2) {
fprintf(stderr, "Remote needed\n"); fprintf(stderr, "Remote needed\n");
return 1; return 1;
@ -103,6 +104,8 @@ int main(int argc, const char **argv)
break; break;
if (!prefixcmp(buf.buf, "fetch ")) { if (!prefixcmp(buf.buf, "fetch ")) {
char *obj = buf.buf + strlen("fetch "); char *obj = buf.buf + strlen("fetch ");
if (nongit)
die("Fetch attempted without a local repo");
if (!walker) if (!walker)
walker = get_http_walker(url, remote); walker = get_http_walker(url, remote);
walker->get_all = 1; walker->get_all = 1;