libgit2 / libgit2/pygit2

add Object.__eq__ and Object.__hash__

Aberta
#802 2 comentários 0 reações 0 responsáveis Ver no GitHub

Ninguém assumiu esta issue ainda.

feature
Linguagem predominante
Python
Estrelas
1.7k
Forks
408
Merge médio
2d 57min
PRs com merge (30d)
7

Descrição

It would be intuitive if this worked:

r = Repository('.git')
r['103ea4507a9df26a19388cd4115c8bfd1fb784af'] == r['103ea4507a9df26a19388cd4115c8bfd1fb784af']

I'd like to add a __eq__ method to Object which compares the underlying Oid object held by the id attribute.

Additionally, since this this attribute is read-only Objects are effectively immutable, thus it would be great to have a __hash__ method (which returns hash(self.id)) so that Objects can be placed in sets and used as keys in dictionaries.

I'm happy to make the PR for this if you think it makes sense.

Guia de contribuição

Abrir o guia de contribuição

Primeiros passos

  1. Leia a issue inteira e depois o guia de contribuição do projeto.
  2. Comente na issue dizendo que vai assumir — evita que duas pessoas façam o mesmo trabalho.
  3. Faça um fork do repositório e trabalhe em uma branch.
  4. Abra um pull request que referencie o número da issue.

Direção de pesquisa

Comece localizando o ponto de entrada de Object e seu atributo id somente leitura; em seguida, inspecione como as consultas de Repository produzem objetos. Verifique o comportamento solicitado de igualdade e hashing usando o exemplo Repository('.git'), incluindo que os objetos podem ser colocados em conjuntos e usados como chaves de dicionário.

Escrita pelo modelo de indexação a partir do texto da issue.

Avaliação

Stack de tecnologia
git, python
Domínio
backend
Tipo de issue
Funcionalidade
Dificuldade
2/5
Tempo estimado
1-3 horas
Status de atividade
Estagnada
Clareza
Razoavelmente clara
Facilidade para iniciantes
45/100

Receba novas issues na sua caixa de entrada

Um resumo curto de issues do GitHub para quem está começando.