Browse Source

Merge branch 'db/maint-missing-origin' into maint

* db/maint-missing-origin:
  Remove total confusion from git-fetch and git-push
  Give error when no remote is configured
maint
Junio C Hamano 16 years ago
parent
commit
3c954c23d6
  1. 6
      builtin-fetch.c
  2. 7
      builtin-push.c
  3. 15
      remote.c

6
builtin-fetch.c

@ -636,6 +636,9 @@ int cmd_fetch(int argc, const char **argv, const char *prefix) @@ -636,6 +636,9 @@ int cmd_fetch(int argc, const char **argv, const char *prefix)
else
remote = remote_get(argv[0]);

if (!remote)
die("Where do you want to fetch from today?");

transport = transport_get(remote, remote->url[0]);
if (verbosity >= 2)
transport->verbose = 1;
@ -648,9 +651,6 @@ int cmd_fetch(int argc, const char **argv, const char *prefix) @@ -648,9 +651,6 @@ int cmd_fetch(int argc, const char **argv, const char *prefix)
if (depth)
set_option(TRANS_OPT_DEPTH, depth);

if (!transport->url)
die("Where do you want to fetch from today?");

if (argc > 1) {
int j = 0;
refs = xcalloc(argc + 1, sizeof(const char *));

7
builtin-push.c

@ -53,8 +53,11 @@ static int do_push(const char *repo, int flags) @@ -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);

15
remote.c

@ -38,6 +38,7 @@ static int branches_nr; @@ -38,6 +38,7 @@ static int branches_nr;

static struct branch *current_branch;
static const char *default_remote_name;
static int explicit_default_remote_name;

static struct rewrite **rewrite;
static int rewrite_alloc;
@ -330,8 +331,10 @@ static int handle_config(const char *key, const char *value, void *cb) @@ -330,8 +331,10 @@ static int handle_config(const char *key, const char *value, void *cb)
if (!value)
return config_error_nonbool(key);
branch->remote_name = xstrdup(value);
if (branch == current_branch)
if (branch == current_branch) {
default_remote_name = branch->remote_name;
explicit_default_remote_name = 1;
}
} else if (!strcmp(subkey, ".merge")) {
if (!value)
return config_error_nonbool(key);
@ -643,10 +646,16 @@ static int valid_remote_nick(const char *name) @@ -643,10 +646,16 @@ static int valid_remote_nick(const char *name)
struct remote *remote_get(const char *name)
{
struct remote *ret;
int name_given = 0;

read_config();
if (!name)
if (name)
name_given = 1;
else {
name = default_remote_name;
name_given = explicit_default_remote_name;
}

ret = make_remote(name, 0);
if (valid_remote_nick(name)) {
if (!ret->url)
@ -654,7 +663,7 @@ struct remote *remote_get(const char *name) @@ -654,7 +663,7 @@ struct remote *remote_get(const char *name)
if (!ret->url)
read_branches_file(ret);
}
if (!ret->url)
if (name_given && !ret->url)
add_url_alias(ret, name);
if (!ret->url)
return NULL;

Loading…
Cancel
Save