summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJunio C Hamano <gitster@pobox.com>2009-11-04 16:34:02 -0800
committerJunio C Hamano <gitster@pobox.com>2009-11-04 16:34:02 -0800
commit1b52ac5935c3773596fa41f6cf83578ab86b6b83 (patch)
tree8cca157ac006bf268b3d9dae8b63fb0f1e073c77
parent3bb18e58fc4f5eddd97bc34fc11dc207b47cc093 (diff)
parent0a565de4a50032339d3786d366e70912a4dcf572 (diff)
downloadgit-1b52ac5935c3773596fa41f6cf83578ab86b6b83.tar.gz
Merge branch 'maint'
* maint: Fix documentation grammar typo Allow curl helper to work without a local repository Require a struct remote in transport_get()
-rw-r--r--Documentation/git-describe.txt2
-rw-r--r--builtin-ls-remote.c6
-rw-r--r--remote-curl.c5
-rw-r--r--transport.c7
4 files changed, 13 insertions, 7 deletions
diff --git a/Documentation/git-describe.txt b/Documentation/git-describe.txt
index e9dbca7d87..2f97916781 100644
--- a/Documentation/git-describe.txt
+++ b/Documentation/git-describe.txt
@@ -120,7 +120,7 @@ closest tagname without any suffix:
tags/v1.0.0
Note that the suffix you get if you type these commands today may be
-longer than what Linus saw above when he ran this command, as your
+longer than what Linus saw above when he ran these commands, as your
git repository may have new commits whose object names begin with
975b that did not exist back then, and "-g975b" suffix alone may not
be sufficient to disambiguate these commits.
diff --git a/builtin-ls-remote.c b/builtin-ls-remote.c
index 78a88f7476..b5bad0c184 100644
--- a/builtin-ls-remote.c
+++ b/builtin-ls-remote.c
@@ -86,10 +86,10 @@ int cmd_ls_remote(int argc, const char **argv, const char *prefix)
pattern[j - i] = p;
}
}
- remote = nongit ? NULL : remote_get(dest);
- if (remote && !remote->url_nr)
+ remote = remote_get(dest);
+ if (!remote->url_nr)
die("remote %s has no configured URL", dest);
- transport = transport_get(remote, remote ? remote->url[0] : dest);
+ transport = transport_get(remote, remote->url[0]);
if (uploadpack != NULL)
transport_set_option(transport, TRANS_OPT_UPLOADPACK, uploadpack);
diff --git a/remote-curl.c b/remote-curl.c
index 2faf1c6344..ebdab3603e 100644
--- a/remote-curl.c
+++ b/remote-curl.c
@@ -82,9 +82,10 @@ int main(int argc, const char **argv)
struct strbuf buf = STRBUF_INIT;
const char *url;
struct walker *walker = NULL;
+ int nongit;
git_extract_argv0_path(argv[0]);
- setup_git_directory();
+ setup_git_directory_gently(&nongit);
if (argc < 2) {
fprintf(stderr, "Remote needed\n");
return 1;
@@ -103,6 +104,8 @@ int main(int argc, const char **argv)
break;
if (!prefixcmp(buf.buf, "fetch ")) {
char *obj = buf.buf + strlen("fetch ");
+ if (nongit)
+ die("Fetch attempted without a local repo");
if (!walker)
walker = get_http_walker(url, remote);
walker->get_all = 1;
diff --git a/transport.c b/transport.c
index 644a30a0b2..298dc46ec5 100644
--- a/transport.c
+++ b/transport.c
@@ -812,6 +812,9 @@ struct transport *transport_get(struct remote *remote, const char *url)
{
struct transport *ret = xcalloc(1, sizeof(*ret));
+ if (!remote)
+ die("No remote provided to transport_get()");
+
ret->remote = remote;
ret->url = url;
@@ -849,10 +852,10 @@ struct transport *transport_get(struct remote *remote, const char *url)
data->thin = 1;
data->conn = NULL;
data->uploadpack = "git-upload-pack";
- if (remote && remote->uploadpack)
+ if (remote->uploadpack)
data->uploadpack = remote->uploadpack;
data->receivepack = "git-receive-pack";
- if (remote && remote->receivepack)
+ if (remote->receivepack)
data->receivepack = remote->receivepack;
}