rugged icon indicating copy to clipboard operation
rugged copied to clipboard

rugged misinterpreting branch name as a SHA

Open vchepkov opened this issue 3 years ago • 1 comments

Here is a reproducer, courtesy of @jarretlavallee

irb(main):001:0> require 'rugged'
=> true
irb(main):002:0> repo = Rugged::Repository.init_at('/tmp/test', :bare)
=> #<Rugged::Repository:22047760 {path: "/tmp/test/"}>
irb(main):003:0> repo.rev_parse('ITTO-4954-gdc')
Traceback (most recent call last):
        4: from /opt/puppetlabs/puppet/bin/irb:11:in `<main>'
        3: from (irb):3
        2: from /opt/puppetlabs/puppet/lib/ruby/gems/2.5.0/gems/rugged-0.27.7/lib/rugged/repository.rb:154:in `rev_parse'
        1: from /opt/puppetlabs/puppet/lib/ruby/gems/2.5.0/gems/rugged-0.27.7/lib/rugged/repository.rb:154:in `rev_parse'
Rugged::ObjectError (ambiguous lookup - OID prefix is too short)

somehow magic suffix -gdc makes rugged to err

vchepkov avatar May 09 '22 22:05 vchepkov

That'll be the -g yeah which looks like it's making libgit2 think it's parsing a git describe string. Presumably it should fall back out of that or maybe look first for refs, I don't remember what git itself does.

carlosmn avatar Jun 14 '22 07:06 carlosmn