libgit2 / libgit2/pygit2

Expose GIT_DIRECTION constants; ability to remove refspecs

Open
#938 0 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Dominant language
Python
Stars
1.7k
Forks
408
Avg merge
2d 57m
Merged PRs (30d)
7

Description

I've recently run into some trouble working with fetch/pull refspecs in pygit2 due to libgit2 features that haven't been exposed to python. The main issues I've encountered are:

  • There's currently no way to remove fetch/pull refspecs
  • The GIT_DIRECTION_FETCH/GIT_DIRECTION_PUSH constants aren't exposed to python (which are used by the Refspec type returned by get_refspec())

I found this old issue (https://github.com/libgit2/pygit2/issues/255) where @jdavid referenced these features, but it looks like those specific ones didn't make it in to pull request that was ultimately merged.

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start by tracing the Refspec type and get_refspec() entry point in the Python bindings, then compare the available libgit2 refspec operations. The work is complete when GIT_DIRECTION_FETCH and GIT_DIRECTION_PUSH are exposed and fetch/pull refspecs can be removed, with coverage for both behaviors.

Written by the indexing model from the issue text.

Assessment

Tech stack
git, python
Domain
api, devtools
Issue type
Feature
Difficulty
3/5
Estimated time
1-2 days
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
45/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.