libgit2 / libgit2/libgit2sharp
Add branch querying/filtering feature
Ninguém assumiu esta issue ainda.
- Linguagem predominante
- C#
- Estrelas
- 3.5k
- Forks
- 925
- Métricas de merge de PRs
- Nenhum PR com merge em 30d
Descrição
The git-branch doc states
With --contains, shows only the branches that contain the named commit (in other
words, the branches whose tip commits are descendants of the named commit).
With --merged, only branches merged into the named commit (i.e. the branches whose
tip commits are reachable from the named commit) will be listed.
With --no-merged only branches not merged into the named commit will be listed.
If the <commit> argument is missing it defaults to HEAD (i.e. the tip of the
current branch).
A potential API design might rely on the following
- Add a
QueryBy()method to theBranchCollectionin a similar way to theCommitCollection.QueryBy()method. - Rename the current
Filtertype toCommitFilter, in order to allow the creation of aBranchFIlter
Binding the following method might also be helpful. Related libgit2 tests can be found here.
/**
* Find a merge base between two commits
*
* @param out the OID of a merge base between 'one' and 'two'
* @param repo the repository where the commits exist
* @param one one of the commits
* @param two the other commit
*/
GIT_EXTERN(int) git_merge_base(
git_oid *out,
git_repository *repo,
git_oid *one,
git_oid *two);
Guia de contribuição
Primeiros passos
- Leia a issue inteira e depois o guia de contribuição do projeto.
- Comente na issue dizendo que vai assumir — evita que duas pessoas façam o mesmo trabalho.
- Faça um fork do repositório e trabalhe em uma branch.
- Abra um pull request que referencie o número da issue.
Direção de pesquisa
Comece com BranchCollection e compare sua API QueryBy() proposta com CommitCollection.QueryBy(). Revise o tipo Filter atual antes de considerar a renomeação proposta e, em seguida, inspecione os testes de revwalk/mergebase.c do libgit2 e o binding git_merge_base. O trabalho estará concluído quando as consultas de branch contains/merged/not-merged e a API de merge-base relacionada estiverem definidas com testes correspondentes e o design da API estiver estabelecido.
Escrita pelo modelo de indexação a partir do texto da issue.
Avaliação
- Stack de tecnologia
- csharp, git
- Domínio
- backend-api-design
- Tipo de issue
- Funcionalidade
- Dificuldade
- 5/5
- Tempo estimado
- Mais de uma semana
- Status de atividade
- Estagnada
- Clareza
- Razoavelmente clara
- Facilidade para iniciantes
- 25/100