cfillion / reapack-index

Package indexer for git-based ReaPack repositories
GNU General Public License v3.0
28 stars 1 forks source link

git.rb:33:in `each': object not found #11

Open myrrc opened 1 year ago

myrrc commented 1 year ago
% reapack-index -a --name "SWS"                                                                                                     /home/myrrc/sws
Traceback (most recent call last):
        9: from /usr/local/bin/reapack-index:23:in `<main>'
        8: from /usr/local/bin/reapack-index:23:in `load'
        7: from /var/lib/gems/2.7.0/gems/reapack-index-1.2.3/bin/reapack-index:8:in `<top (required)>'
        6: from /var/lib/gems/2.7.0/gems/reapack-index-1.2.3/bin/reapack-index:8:in `catch'
        5: from /var/lib/gems/2.7.0/gems/reapack-index-1.2.3/bin/reapack-index:8:in `block in <top (required)>'
        4: from /var/lib/gems/2.7.0/gems/reapack-index-1.2.3/lib/reapack/index/cli.rb:44:in `run'
        3: from /var/lib/gems/2.7.0/gems/reapack-index-1.2.3/lib/reapack/index/cli.rb:77:in `do_scan'
        2: from /var/lib/gems/2.7.0/gems/reapack-index-1.2.3/lib/reapack/index/git.rb:33:in `commits_since'
        1: from /var/lib/gems/2.7.0/gems/reapack-index-1.2.3/lib/reapack/index/git.rb:33:in `map'
/var/lib/gems/2.7.0/gems/reapack-index-1.2.3/lib/reapack/index/git.rb:33:in `each': object not found - no match for id (8e3c0ce4ec03f38d2247e45e88425479f87032d7) (Rugged::OdbError)

Trying to index https://github.com/myrrc/sws (build/sws.ext file, however, script errors even on the root dir).

Reapack v1.2.3 from RubyGems

cfillion commented 1 year ago

I tried to duplicate with the following steps:

git clone https://github.com/myrrc/sws.git sws2
cd sws2
reapack-index -a --name SWS

It successfully completes the initial scan of all 3046 commits here. The commit reaper-oss/sws@8e3c0ce4ec03f38d2247e45e88425479f87032d7 mentioned in the error message contains an invalid UTF-8 sequence in the diff (replaces bad 0xB5 with valid 0xC2 0xB5). If you recreate that condition in a new blank repository, could that be what triggers the bug?

git init
echo -e "\xb5" > file
git add file; git commit -m 'step 1'
echo -e "\xc2\xb5" > file
git add file; git commit -m 'step 2'
reapack-index
myrrc commented 1 year ago

The repository was rebased multiple times, so maybe it's not the best bug report. With the blank repository there's no problem, I'll try to research again

myrrc commented 1 year ago

In https://github.com/myrrc/sws/commit/cd8702531ea001502695eeae55a2ed6a4981dc77 calling reapack-index still results in an error.

The only file to be indexed is sws.ext with following contents

@description SWS
@version 2.13.2.0
@author SWS Team

@provides
   FingersExtras/Grooves/*

@provides
   [darwin32] sws.dylib https://github.com/myrrc/sws/releases/download/$version/sws-mac-i386.dylib
   [darwin64] sws.dylib https://github.com/myrrc/sws/releases/download/$version/sws-mac-amd64.dylib
   [darwin-arm64] sws.dylib https://github.com/myrrc/sws/releases/download/$version/sws-mac-amd64.dylib
   [linux32] sws.so https://github.com/myrrc/sws/releases/download/$version/sws-linux-i386.so
   [linux64] sws.sohttps://github.com/myrrc/sws/releases/download/$version/sws-linux-amd64.so
   [linux-armv7l] sws.so https://github.com/myrrc/sws/releases/download/$version/sws-linux-armhf.so
   [linux-aarch64] sws.so https://github.com/myrrc/sws/releases/download/$version/sws-linux-arm64.so
   [win32] sws.dll https://github.com/myrrc/sws/releases/download/$version/sws-win-x86.dll
   [win64] sws.dll https://github.com/myrrc/sws/releases/download/$version/sws-win-x64.dll
myrrc commented 1 year ago

Issues persists with latest reapack:

~/.config/REAPER/Scripts/reaper-keys /home/myrrc/.local/share/gem/ruby/3.0.0/bin/reapack-index 
warning: This index is unnamed. Run the following command to set a name of your choice:
  reapack-index --name 'FooBar Scripts'
/home/myrrc/.local/share/gem/ruby/3.0.0/gems/reapack-index-1.2.3/lib/reapack/index/git.rb:33:in `each': object not found - no match for id (0927fe07aa72013cd14ff1e1333e2f6f7d509ad4) (Rugged::OdbError)
    from /home/myrrc/.local/share/gem/ruby/3.0.0/gems/reapack-index-1.2.3/lib/reapack/index/git.rb:33:in `map'
    from /home/myrrc/.local/share/gem/ruby/3.0.0/gems/reapack-index-1.2.3/lib/reapack/index/git.rb:33:in `commits_since'
    from /home/myrrc/.local/share/gem/ruby/3.0.0/gems/reapack-index-1.2.3/lib/reapack/index/cli.rb:77:in `do_scan'
    from /home/myrrc/.local/share/gem/ruby/3.0.0/gems/reapack-index-1.2.3/lib/reapack/index/cli.rb:44:in `run'
    from /home/myrrc/.local/share/gem/ruby/3.0.0/gems/reapack-index-1.2.3/bin/reapack-index:8:in `block in <top (required)>'
    from /home/myrrc/.local/share/gem/ruby/3.0.0/gems/reapack-index-1.2.3/bin/reapack-index:8:in `catch'
    from /home/myrrc/.local/share/gem/ruby/3.0.0/gems/reapack-index-1.2.3/bin/reapack-index:8:in `<top (required)>'
    from /home/myrrc/.local/share/gem/ruby/3.0.0/bin/reapack-index:25:in `load'
    from /home/myrrc/.local/share/gem/ruby/3.0.0/bin/reapack-index:25:in `<main>'