]> git.proxmox.com Git - libgit2.git/commitdiff
git_remote_rename: propogate GIT_ENOTFOUND
authorEdward Thomson <ethomson@microsoft.com>
Mon, 3 Nov 2014 19:07:20 +0000 (14:07 -0500)
committerEdward Thomson <ethomson@microsoft.com>
Mon, 3 Nov 2014 19:10:31 +0000 (14:10 -0500)
src/remote.c
tests/network/remote/rename.c

index d346fb3284420f809c15dc617554dedaa25fbe34..c98c160ee85e43aca88e2d193053272177273d46 100644 (file)
@@ -1677,7 +1677,7 @@ int git_remote_rename(git_strarray *out, git_repository *repo, const char *name,
        assert(out && repo && name && new_name);
 
        if ((error = git_remote_load(&remote, repo, name)) < 0)
-               return -1;
+               return error;
 
        if ((error = ensure_remote_name_is_valid(new_name)) < 0)
                goto cleanup;
index e1aea0297f0189f0b9f33e084d43034148ab1829..49929a47037fcef09fe433a1de3ae14d85d6efaf 100644 (file)
@@ -200,6 +200,15 @@ void test_network_remote_rename__overwrite_ref_in_target(void)
        git_branch_iterator_free(iter);
 }
 
+void test_network_remote_rename__nonexistent_returns_enotfound(void)
+{
+       git_strarray problems = {0};
+
+       int err = git_remote_rename(&problems, _repo, "nonexistent", "renamed");
+
+       cl_assert_equal_i(GIT_ENOTFOUND, err);
+}
+
 void test_network_remote_rename__symref_head(void)
 {
        int error;