summaryrefslogtreecommitdiff
path: root/builtin-push.c
diff options
context:
space:
mode:
authorDaniel Barkalow <barkalow@iabervon.org>2009-03-11 05:47:20 (GMT)
committerJunio C Hamano <gitster@pobox.com>2009-03-11 06:14:20 (GMT)
commitfa685bdf45cbaa997255cc78a23494b995e9769a (patch)
tree9d9105e85bc7477e6a4c93091c511f3191d22b60 /builtin-push.c
parent9a6682bab5e800465f0a4e44cdf18fe396ff4f6d (diff)
downloadgit-fa685bdf45cbaa997255cc78a23494b995e9769a.zip
git-fa685bdf45cbaa997255cc78a23494b995e9769a.tar.gz
git-fa685bdf45cbaa997255cc78a23494b995e9769a.tar.bz2
Give error when no remote is configured
When there's no explicitly-named remote, we use the remote specified for the current branch, which in turn defaults to "origin". But it this case should require the remote to actually be configured, and not fall back to the path "origin". Possibly, the config file's "remote = something" should require the something to be a configured remote instead of a bare repository URL, but we actually test with a bare repository URL. In fetch, we were giving the sensible error message when coming up with a URL failed, but this wasn't actually reachable, so move that error up and use it when appropriate. In push, we need a new error message, because the old one (formerly unreachable without a lot of help) used the repo name, which was NULL. Signed-off-by: Daniel Barkalow <barkalow@iabervon.org> Signed-off-by: Junio C Hamano <gitster@pobox.com>
Diffstat (limited to 'builtin-push.c')
-rw-r--r--builtin-push.c7
1 files changed, 5 insertions, 2 deletions
diff --git a/builtin-push.c b/builtin-push.c
index 122fdcf..ca36fb1 100644
--- a/builtin-push.c
+++ b/builtin-push.c
@@ -53,8 +53,11 @@ static int do_push(const char *repo, int flags)
int i, errs;
struct remote *remote = remote_get(repo);
- if (!remote)
- die("bad repository '%s'", repo);
+ if (!remote) {
+ if (repo)
+ die("bad repository '%s'", repo);
+ die("No destination configured to push to.");
+ }
if (remote->mirror)
flags |= (TRANSPORT_PUSH_MIRROR|TRANSPORT_PUSH_FORCE);