summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorCarlos Martín Nieto <cmn@dwim.me>2014-06-06 15:54:42 +0200
committerCarlos Martín Nieto <cmn@dwim.me>2014-06-06 15:54:42 +0200
commit5a49ff9fa0b89c9fd479e04e0f694fa5f07fd6f4 (patch)
tree37a895271108854e75de4d9094af8d8bf981eaaf
parent716e20b47eb82ebd94588fe6c950e661b6fe4f15 (diff)
downloadlibgit2-5a49ff9fa0b89c9fd479e04e0f694fa5f07fd6f4.tar.gz
remote: remove rename code for anonymous remotes
We don't allow renames of anonymous remotes, so there's no need to handle them. A remote is always associated with a repository, so there's no need to check for that.
-rw-r--r--src/remote.c53
1 files changed, 11 insertions, 42 deletions
diff --git a/src/remote.c b/src/remote.c
index 0d1a88ea..dd88cf91 100644
--- a/src/remote.c
+++ b/src/remote.c
@@ -1442,10 +1442,8 @@ static int rename_fetch_refspecs(
if (spec->push)
continue;
- /* Every refspec is a problem refspec for an anonymous remote, OR */
/* Does the dst part of the refspec follow the expected format? */
- if (!remote->name ||
- strcmp(git_buf_cstr(&base), spec->string)) {
+ if (strcmp(git_buf_cstr(&base), spec->string)) {
if ((error = callback(spec->string, payload)) != 0) {
giterr_set_after_callback(error);
@@ -1497,49 +1495,20 @@ int git_remote_rename(
if ((error = ensure_remote_name_is_valid(new_name)) < 0)
return error;
- if (remote->repo) {
- if ((error = ensure_remote_doesnot_exist(remote->repo, new_name)) < 0)
- return error;
+ if ((error = ensure_remote_doesnot_exist(remote->repo, new_name)) < 0)
+ return error;
- if (!remote->name) {
- if ((error = rename_fetch_refspecs(
- remote,
- new_name,
- callback,
- payload)) < 0)
- return error;
+ if ((error = rename_remote_config_section(remote->repo, remote->name, new_name)) < 0)
+ return error;
- remote->name = git__strdup(new_name);
- GITERR_CHECK_ALLOC(remote->name);
+ if ((error = update_branch_remote_config_entry(remote->repo, remote->name, new_name)) < 0)
+ return error;
- return git_remote_save(remote);
- }
+ if ((error = rename_remote_references(remote->repo, remote->name, new_name)) < 0)
+ return error;
- if ((error = rename_remote_config_section(
- remote->repo,
- remote->name,
- new_name)) < 0)
- return error;
-
- if ((error = update_branch_remote_config_entry(
- remote->repo,
- remote->name,
- new_name)) < 0)
- return error;
-
- if ((error = rename_remote_references(
- remote->repo,
- remote->name,
- new_name)) < 0)
- return error;
-
- if ((error = rename_fetch_refspecs(
- remote,
- new_name,
- callback,
- payload)) < 0)
- return error;
- }
+ if ((error = rename_fetch_refspecs(remote, new_name, callback, payload)) < 0)
+ return error;
git__free(remote->name);