Merge branch 'db/maint-missing-origin'
* db/maint-missing-origin: Remove total confusion from git-fetch and git-push Give error when no remote is configured
This commit is contained in:
commit
9d5b05c6d5
@ -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)
|
||||
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 *));
|
||||
|
@ -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
15
remote.c
@ -39,6 +39,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;
|
||||
@ -331,8 +332,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);
|
||||
@ -644,10 +647,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)
|
||||
@ -655,7 +664,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…
Reference in New Issue
Block a user