Repository#head throws exception, but documentation seems to imply it should return nil?

Abierto
#754 1 comentario 0 reacciones 0 asignados Ver en GitHub

Nadie ha tomado este issue todavía.

Evaluación

Dificultad
3/5
Tiempo estimado
1-2 días
Aptitud para principiantes
38/100
Tipo de issue
Error
Claridad
Bastante claro
Estado de actividad
Estancado
Stack tecnológico
git, ruby
Área
backend

Línea de trabajo

Comienza con lib/relaxo/database.rb:48 y el ejemplo que falla en spec/relaxo/database_spec.rb; después, compara Rugged::Repository#head con la documentación de API enlazada para un repositorio recién creado. Se considera terminado cuando el comportamiento de un repositorio vacío está definido y la expectativa de clear! ya no genera una excepción inesperadamente.

Escrito por el modelo de indexación a partir del texto del issue.

Descripción

I have to do the following

		# Completely clear out the database.
		def clear!
			if head = @repository.head
				@repository.references.delete(head)
			end
		rescue Rugged::ReferenceError
			return nil
		end

@repository.head on a newly created repo throws:

 1) Relaxo::Database can clear database
     Failure/Error:
       expect do
       	database.clear!
       end.to_not raise_error
     
       expected no Exception, got #<Rugged::ReferenceError: reference 'refs/heads/master' not found> with backtrace:
         # ./lib/relaxo/database.rb:48:in `head'
         # ./lib/relaxo/database.rb:48:in `clear!'
         # ./spec/relaxo/database_spec.rb:20:in `block (3 levels) in <top (required)>'

The documentation seems to imply this should return nil?

https://www.rubydoc.info/github/libgit2/rugged/Rugged%2FRepository:head

Thanks!

Lenguaje dominante
C
Estrellas
2.3k
Forks
293
Métricas de merge de PR
Sin PR fusionados en 30 d

Guía de contribución

No hay ninguna guía de contribución indexada para este repositorio

Primeros pasos

  1. Lee el issue completo y luego la guía de contribución del proyecto.
  2. Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
  3. Haz un fork del repositorio y trabaja en una rama.
  4. Abre un pull request que haga referencia al número del issue.

Más de libgit2/rugged

Todos los issues de libgit2/rugged

Issues similares

Más issues de C

Recibe los nuevos issues en tu correo

Un resumen breve de issues de GitHub para principiantes.