diff options
author | Dmitry Lobanov <gaussblurinc@gmail.com> | 2021-05-12 10:30:12 +0300 |
---|---|---|
committer | Dmitry Lobanov <gaussblurinc@gmail.com> | 2021-05-12 10:30:12 +0300 |
commit | 7d9599bd22521627b50527d394f1bb7c51252139 (patch) | |
tree | f6e7fed820fb0e8ff949a24469f4bbe0b18c37d1 | |
parent | a2d953e5ed48112ec132fc0f38f92ba66095c477 (diff) | |
download | libgit2-7d9599bd22521627b50527d394f1bb7c51252139.tar.gz |
branch: git branch upstream merge has been exposed.
-rw-r--r-- | include/git2/branch.h | 13 | ||||
-rw-r--r-- | src/branch.c | 8 |
2 files changed, 21 insertions, 0 deletions
diff --git a/include/git2/branch.h b/include/git2/branch.h index 0c0cc7ff7..24ea7f7d0 100644 --- a/include/git2/branch.h +++ b/include/git2/branch.h @@ -305,6 +305,19 @@ GIT_EXTERN(int) git_branch_remote_name( GIT_EXTERN(int) git_branch_upstream_remote(git_buf *buf, git_repository *repo, const char *refname); /** + * Retrieve the upstream merge of a local branch + * + * This will return the currently configured "branch.*.merge" for a given + * branch. This branch must be local. + * + * @param buf the buffer into which to write the name + * @param repo the repository in which to look + * @param refname the full name of the branch + * @return 0 or an error code + */ + GIT_EXTERN(int) git_branch_upstream_merge(git_buf *buf, git_repository *repo, const char *refname); + +/** * Determine whether a branch name is valid, meaning that (when prefixed * with `refs/heads/`) that it is a valid reference name, and that any * additional branch name restrictions are imposed (eg, it cannot start diff --git a/src/branch.c b/src/branch.c index ff790b980..55b748cb2 100644 --- a/src/branch.c +++ b/src/branch.c @@ -492,6 +492,14 @@ static int git_branch_upstream_with_format(git_buf *buf, git_repository *repo, c return error; } +int git_branch_upstream_remote(git_buf *buf, git_repository *repo, const char *refname) { + git_branch_upstream_with_format(buf, repo, refname, "branch.%s.remote"); +} + +int git_branch_upstream_merge(git_buf *buf, git_repository *repo, const char *refname) { + git_branch_upstream_with_format(buf, repo, refname, "branch.%s.merge"); +} + int git_branch_remote_name(git_buf *buf, git_repository *repo, const char *refname) { git_strarray remote_list = {0}; |