ytti/oxidized · error · Oxidized::Output::Git::GitError
first '#{e.message}' was raised while opening git repo, then
Error message
first '#{e.message}' was raised while opening git repo, then '#{create_error.message}' was while trying to create git repo What it means
Error "first '#{e.message}' was raised while opening git repo, then '#{create_error.message}' was while trying to create git repo" thrown in ytti/oxidized.
Source
Thrown at lib/oxidized/output/git.rb:301
if @cfg.single_repo?
file = ::File.join @opt[:group], file
else
repo = if repo.is_a?(::String)
::File.join ::File.dirname(repo), @opt[:group] + '.git'
else
repo[@opt[:group]]
end
end
end
begin
repo = Rugged::Repository.new repo
update_repo repo, file, data
rescue Rugged::OSError, Rugged::RepositoryError => e
begin
Rugged::Repository.init_at repo, :bare
rescue StandardError => create_error
raise GitError, "first '#{e.message}' was raised while opening git repo, then '#{create_error.message}' " \
"was while trying to create git repo"
end
retry
end
end
# Uploads data into file in the repository repo
#
# update_repo caches the index on disk. An index is usually used in a
# working directory and not in a bare repository, which confuses users.
# The alternative would be to rebuild the index each time, which a little
# time consuming. Caching the index in memory is difficult because a new
# Output object is created each time #store is called.
def update_repo(repo, file, data) # rubocop:disable Naming/PredicateMethod
oid_old = repo.blob_at(repo.head.target_id, file) rescue nil
return false if oid_old && (oid_old.content.b == data.b)
oid = repo.write data, :blobView on GitHub (pinned to 687ed4262d)
When it happens
Trigger: Thrown at lib/oxidized/output/git.rb:301 when the library encounters an invalid state.
Common situations: See trigger scenarios.
AI-assisted analysis of ytti/oxidized@687ed4262d (2026-08-23).
Data as JSON: /api/errors/0e93c335f6ff52ac.
Report an issue: GitHub.