diff options
| author | Edward Thomson <ethomson@edwardthomson.com> | 2014-10-10 12:21:28 -0400 |
|---|---|---|
| committer | Edward Thomson <ethomson@edwardthomson.com> | 2014-10-10 12:21:28 -0400 |
| commit | a6ed1fcbe1dbd78dbfd83da3dcff12ed37134e96 (patch) | |
| tree | 3d964f1f0419a3757d753c88a5f0e338e39e8b4d /src/remote.c | |
| parent | bab92a8dcf66d93afb41c946c238841df74fff0e (diff) | |
| parent | 262eec23fe7377a9eecf9e724fa1aba945b3162a (diff) | |
| download | libgit2-a6ed1fcbe1dbd78dbfd83da3dcff12ed37134e96.tar.gz | |
Merge pull request #2593 from libgit2/cmn/remote-delete-name
remote: accept a repository and remote name for deletion
Diffstat (limited to 'src/remote.c')
| -rw-r--r-- | src/remote.c | 24 |
1 files changed, 5 insertions, 19 deletions
diff --git a/src/remote.c b/src/remote.c index 10b56243f..8d928a5b8 100644 --- a/src/remote.c +++ b/src/remote.c @@ -2028,29 +2028,15 @@ static int remove_remote_tracking(git_repository *repo, const char *remote_name) return error; } -int git_remote_delete(git_remote *remote) +int git_remote_delete(git_repository *repo, const char *name) { int error; - git_repository *repo; - - assert(remote); - if (!remote->name) { - giterr_set(GITERR_INVALID, "Can't delete an anonymous remote."); - return -1; - } - - repo = git_remote_owner(remote); - - if ((error = remove_branch_config_related_entries(repo, - git_remote_name(remote))) < 0) - return error; - - if ((error = remove_remote_tracking(repo, git_remote_name(remote))) < 0) - return error; + assert(repo && name); - if ((error = rename_remote_config_section( - repo, git_remote_name(remote), NULL)) < 0) + if ((error = remove_branch_config_related_entries(repo, name)) < 0 || + (error = remove_remote_tracking(repo, name)) < 0 || + (error = rename_remote_config_section(repo, name, NULL)) < 0) return error; return 0; |
