The fork of redmine/redmine for https://bugs.ruby-lang.org.
We have a known issue with the git repository sync. If you encounter a problem with the sync, please check the following:
-
Run the following command to sync the git repository manually:
heroku run:detached bundle exec rails runner Repository.fetch_changesets -a bugs-ruby-lang -s performance-land track the logs with:
heroku logs --app bugs-ruby-lang --dyno run.4071 -t
run.4071is the dyno name, which may be different in your case. You can find that name in the previous command output.If you can't see the logs, you can run the following command on the one-off dyno:
heroku run bash -a bugs-ruby-lang -s performance-l
and
bin/rails runner Repository.fetch_changesets
-
If you see like the following error:
fatal: bad object 808d6a1e324703152f7fde67aea3d2ba52b6aba1It means the following reason:
- The bare repository on heroku is corrupted.
- The changesets of redmine is corrupted.
- The canonical repository is corrupted.
Deploy the new revision to heroku:
git commit --allow-empty -m "fix: corrupted bare repository"
git push heroku mainand run the following command to sync the git repository manually:
heroku run:detached bundle exec rails runner Repository.fetch_changesets -a bugs-ruby-lang -s performance-lThis error may happen when the tag is removed from the canonical repository. Redmine is not able to handle that case. We need to remove and retrieve the changesets again.
- Delete the current changesets: Go to the https://bugs.ruby-lang.org/projects/ruby-master/settings/repositories and delete the
gitchangeset. - Clieck
New repositoryand fillgitto "Identifier" and/app/repos/git/rubyto "Path to repository". After that, clieckSavebutton. - Run the following command to sync the git repository manually:
heroku run:detached bundle exec rails runner Repository.fetch_changesets -a bugs-ruby-lang -s performance-l
In this case, please contact @hsbt, @k0kubun or @mame. We need to fix the canonical repository used by git fsck or git gc command.
After that, we need to process to fix corrupted bare repository and corrupted changesets.