summaryrefslogtreecommitdiff
path: root/tests/refs/branches/checkedout.c
Commit message (Collapse)AuthorAgeFilesLines
* branch: fix `branch_is_checked_out` with bare reposPatrick Steinhardt2019-02-141-0/+7
| | | | | | | | | | In a bare repository, HEAD usually points to the branch that is considered the "default" branch. As the current implementation for `git_branch_is_checked_out` only does a comparison of HEAD with the branch that is to be checked, it will say that the branch pointed to by HEAD in such a bare repo is checked out. Fix this by skipping the main repo's HEAD when it is bare.
* branches: do not assert that the given ref is a branchPatrick Steinhardt2019-02-141-0/+7
| | | | | | | | | | | | | | | | | Libraries should use assert(3P) only very scarcely. First, we usually shouldn't cause the caller of our library to abort in case where the assert fails. Second, if code is compiled with -DNDEBUG, then the assert will not be included at all. In our `git_branch_is_checked_out` function, we have an assert that verifies that the given reference parameter is non-NULL and in fact a branch. While the first check is fine, the second is not. E.g. when compiled with -DNDEBUG, we'd proceed and treat the given reference as a branch in all cases. Fix the issue by instead treating a non-branch reference as not being checked out. This is the obvious solution, as references other than branches cannot be directly checked out.
* branches: add tests for `git_branch_is_checked_out`Patrick Steinhardt2019-02-141-0/+39
We currently do not have any tests at all for the `git_branch_is_checked_out` function. Add some basic ones.