git_config_backend_from_string and git_config_backend_from_values are publicly documented but are hidden symbols
Nobody has claimed this yet.
Assessment
- Difficulty
- 2/5
- Estimated time
- 1-3 hours
- Newbie friendliness
- 62/100
Research direction
Start with sys/config.h and the two linked reference pages. Compare these declarations with the neighboring GIT_EXTERN functions and confirm whether the project intends them to be public or internal. Done means the chosen resolution—exporting the functions or documenting them as hidden—is applied consistently.
Written by the indexing model from the issue text.
Description
The C functions git_config_backend_from_string and git_config_backend_from_values added in 1.8.0 are documented here and here, respectively. The documentation does not mention anything about their being private / internal-use functions. Other functions in sys/config.h are GIT_EXTERN and have default visibility. However, these two functions are merely extern and have hidden visibility. This makes it impossible to use them from a shared library (and, thus, impossible to use in pygit2).
Either the documentation should be updated to reflect that they are hidden symbols, or they should be made GIT_EXTERN like all other functions in that header. They are the only two functions in that header that aren't GIT_EXTERN. Much bigger hoops have to be jumped-through in order to have an in-memory backend without these functions (all the callbacks have to be implemented, and there are many), so my recommendation is to make these GIT_EXTERN.
I'm happing to post a pull request to make these GIT_EXTERN if that's the approved approach, but I didn't want to presume that's correct.
- Dominant language
- C
- Stars
- 10.6k
- Forks
- 2.7k
- PR merge metrics
- No merged PRs in 30d
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
More from libgit2/libgit2
-
Difficulty 2/5 1-3 hours Newbie friendliness 88/100
-
Difficulty 2/5 1-3 hours Newbie friendliness 86/100
-
Difficulty 2/5 1-3 hours Newbie friendliness 78/100
-
Difficulty 2/5 1-3 hours Newbie friendliness 74/100
-
Difficulty 3/5 1-2 days Newbie friendliness 70/100
Similar issues
-
level/task module/gcp type/bug
Difficulty 2/5 1-3 hours Newbie friendliness 85/100
-
Difficulty 1/5 Under an hour Newbie friendliness 86/100
hapostgres/pg_auto_failover#1190 ·
-
docs
Difficulty 1/5 Under an hour Newbie friendliness 85/100
-
P3 sonic-vpp
Difficulty 2/5 1-3 hours Newbie friendliness 88/100
sonic-net/sonic-buildimage#29662 ·
-
Difficulty 1/5 Under an hour Newbie friendliness 94/100
spack/spack-packages#6586 ·