rugged
rugged copied to clipboard
rugged misinterpreting branch name as a SHA
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
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.