refs: Reword errors
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107
diff --git a/src/refs.c b/src/refs.c
index 56bb883..c21c958 100644
--- a/src/refs.c
+++ b/src/refs.c
@@ -1489,16 +1489,15 @@ int git_reference_resolve(git_reference **resolved_ref, git_reference *ref)
*resolved_ref = ref;
- if (ref->type & GIT_REF_OID) {
+ if (ref->type & GIT_REF_OID)
return GIT_SUCCESS;
- }
ref_sym = (reference_symbolic *)ref;
if ((error = git_reference_lookup(&ref, repo, ref_sym->target)) < GIT_SUCCESS)
- return git__rethrow(error, "Failed to resolve reference");
+ return error;
}
- return git__throw(GIT_ETOONESTEDSYMREF, "Failed to resolve reference. Reference is too nested");
+ return git__throw(GIT_ENOMEM, "Failed to resolve reference. Reference is too nested");
}
int git_reference_packall(git_repository *repo)
@@ -1533,7 +1532,7 @@ int git_reference_listcb(git_repository *repo, unsigned int list_flags, int (*ca
GIT_HASHTABLE_FOREACH(repo->references.packfile, ref_name, _unused,
if ((error = callback(ref_name, payload)) < GIT_SUCCESS)
- return git__rethrow(error, "Failed to list references");
+ return git__throw(error, "Failed to list references. User callback failed");
);
}
@@ -1573,7 +1572,7 @@ int git_reference_listall(git_strarray *array, git_repository *repo, unsigned in
if (error < GIT_SUCCESS) {
git_vector_free(&ref_list);
- return git__rethrow(error, "Failed to list references");
+ return error;
}
array->strings = (char **)ref_list.contents;
@@ -1632,7 +1631,7 @@ void git_repository__refcache_free(git_refcache *refs)
static int check_valid_ref_char(char ch)
{
if (ch <= ' ')
- return git__throw(GIT_ERROR, "Not a valid reference char");
+ return GIT_ERROR;
switch (ch) {
case '~':
@@ -1642,7 +1641,7 @@ static int check_valid_ref_char(char ch)
case '?':
case '[':
case '*':
- return git__throw(GIT_ERROR, "Not a valid reference char");
+ return GIT_ERROR;
break;
default:
@@ -1652,7 +1651,6 @@ static int check_valid_ref_char(char ch)
static int normalize_name(char *buffer_out, const char *name, int is_oid_ref)
{
- int error = GIT_SUCCESS;
const char *name_end, *buffer_out_start;
char *current;
int contains_a_slash = 0;
@@ -1673,7 +1671,7 @@ static int normalize_name(char *buffer_out, const char *name, int is_oid_ref)
while (current < name_end) {
if (check_valid_ref_char(*current))
- return git__throw(GIT_EINVALIDREFNAME, "Failed to normalize name. Reference name contains invalid characters");
+ return git__throw(GIT_EINVALIDREFNAME, "Failed to normalize name. Reference name contains invalid characters");
if (buffer_out > buffer_out_start) {
char prev = *(buffer_out - 1);
@@ -1703,11 +1701,11 @@ static int normalize_name(char *buffer_out, const char *name, int is_oid_ref)
* for HEAD in a detached state or MERGE_HEAD if we're in the
* middle of a merge */
if (is_oid_ref && !contains_a_slash && (strcmp(name, GIT_HEAD_FILE) && strcmp(name, GIT_MERGE_HEAD_FILE)))
- return git__throw(GIT_EINVALIDREFNAME, "Failed to normalize name. Reference name contains no slashes");
+ return git__throw(GIT_EINVALIDREFNAME, "Failed to normalize name. Reference name contains no slashes");
/* A refname can not end with ".lock" */
if (!git__suffixcmp(name, GIT_FILELOCK_EXTENSION))
- return git__throw(GIT_EINVALIDREFNAME, "Failed to normalize name. Reference name ends with '.lock'");
+ return git__throw(GIT_EINVALIDREFNAME, "Failed to normalize name. Reference name ends with '.lock'");
*buffer_out = '\0';
@@ -1715,12 +1713,11 @@ static int normalize_name(char *buffer_out, const char *name, int is_oid_ref)
* For object id references, name has to start with refs/. Again,
* we need to allow HEAD to be in a detached state.
*/
- if (is_oid_ref &&
- !(git__prefixcmp(buffer_out_start, GIT_REFS_DIR) ||
- strcmp(buffer_out_start, GIT_HEAD_FILE)))
+ if (is_oid_ref && !(git__prefixcmp(buffer_out_start, GIT_REFS_DIR) ||
+ strcmp(buffer_out_start, GIT_HEAD_FILE)))
return git__throw(GIT_EINVALIDREFNAME, "Failed to normalize name. Reference name does not start with 'refs/'");
- return error == GIT_SUCCESS ? GIT_SUCCESS : git__rethrow(error, "Failed to normalize name");
+ return GIT_SUCCESS;
}
int git_reference__normalize_name(char *buffer_out, const char *name)