diff options
-rw-r--r-- | include/git2.h | 1 | ||||
-rw-r--r-- | src/remote.c | 20 |
2 files changed, 10 insertions, 11 deletions
diff --git a/include/git2.h b/include/git2.h index e04b0bd18..6ede73cb5 100644 --- a/include/git2.h +++ b/include/git2.h @@ -53,6 +53,7 @@ #include "git2/index.h" #include "git2/config.h" +#include "git2/remote.h" #include "git2/remote.h" #include "git2/refspec.h" diff --git a/src/remote.c b/src/remote.c index 7da6e653e..aa22debce 100644 --- a/src/remote.c +++ b/src/remote.c @@ -69,7 +69,7 @@ static int parse_remote_refspec(git_config *cfg, git_refspec *refspec, const cha if (error < GIT_SUCCESS) return error; - return git_refspec_parse(refspec, val); + return refspec_parse(refspec, val); } int git_remote_get(git_remote **out, git_config *cfg, const char *name) @@ -122,13 +122,11 @@ int git_remote_get(git_remote **out, git_config *cfg, const char *name) goto cleanup; } - error = git_config_get_string(cfg, buf, &val); - if (error < GIT_SUCCESS) - goto cleanup; - - error = refspec_parse(&remote->fetch, val); - if (error < GIT_SUCCESS) + error = parse_remote_refspec(cfg, &remote->fetch, buf); + if (error < GIT_SUCCESS) { + error = git__rethrow(error, "Failed to get fetch refspec"); goto cleanup; + } ret = snprintf(buf, buf_len, "%s.%s.%s", "remote", name, "push"); if (ret < 0) { @@ -136,11 +134,11 @@ int git_remote_get(git_remote **out, git_config *cfg, const char *name) goto cleanup; } - error = git_config_get_string(cfg, buf, &val); - if (error < GIT_SUCCESS) - goto cleanup; + error = parse_remote_refspec(cfg, &remote->push, buf); + /* Not finding push is fine */ + if (error == GIT_ENOTFOUND) + error = GIT_SUCCESS; - error = refspec_parse(&remote->push, val); if (error < GIT_SUCCESS) goto cleanup; |