Skip to content

Instantly share code, notes, and snippets.

Show Gist options
  • Save kunimi53chi/e562c2aba164b0a0e5b110fae24c3ac5 to your computer and use it in GitHub Desktop.
Save kunimi53chi/e562c2aba164b0a0e5b110fae24c3ac5 to your computer and use it in GitHub Desktop.
Mastodon v2.4.2->v2.4.3アップデートが不調だった件について

Mastodonのv2.4.2からv2.4.3へのアップデートがうまくいきませんでした。アップデート内容自体が悪いわけではなく、Gitの環境がよろしくなかったようです。

起こった現象

僕の自動スクリプト で更新していたところ、Git操作で落ちた。大量のエラーログが吐かれていました。

2018/07/06 03:00:07 ALL IS DONE.
2018/07/07 03:00:02 UPDATE START.
From https://github.com/tootsuite/mastodon
 * [new branch]      fix-remove-p-name -> origin/fix-remove-p-name
   4b198b1..c930b61  master     -> origin/master
 * [new tag]         v2.4.3rc1  -> v2.4.3rc1
error: unable to unlink old 'public/android-chrome-192x192.png' (許可がありません)
error: unable to unlink old 'public/apple-touch-icon.png' (許可がありません)
error: unable to unlink old 'public/emoji/1f44b-1f3fd.svg' (許可がありません)
~~~大量のエラーログ~~~
error: unable to unlink old 'public/web-push-icon_expand.png' (許可がありません)
error: unable to unlink old 'public/web-push-icon_favourite.png' (許可がありません)
Previous HEAD position was 2a10898... Weblate translations (2018-06-19)  (#7847)

error: unable to unlink old 'public/android-chrome-192x192.png' のところは、実際には約2,800行ほどでした。 エラーログがもう大惨事。

おそらく update twemojie to v2 #7911 がきっかけです。

原因

public配下へのmergeが権限設定のせいかうまくいかなかった。「(許可がありません)」のログが示している通り。

解決させる(第1段階)

以前も権限周りで落ちたことがあったので、そのときの対処と同じように $ sudo chmod -R 0777 public/ したことで、許可がありませんと怒られることはなくなった。

それでもGit操作部分がうまくいかない

git checkout v2.4.3をするとemoji関連のファイル名が ドバーッ! と出てきた。もう標準出力がクソまみれや。そのままgit stash popをすると、これまたemoji関連のファイルがたくさん出てきました。ローカルでは触ってないのにstash popでemoji関連のファイルが出てくるのはおかしいです。

git statusを見た時、ノーアレンジのMastodonでは、更新作業時にdocker-compose.ymlだけがmodifiedであるはずです。しかしこのときはemoji関連のファイルがmodifiedだったりdeletedだったりしつつ表示されていました。約2,800行ものmodified。地獄。

解決させる(第2段階)

どう解決させたかといいますと、git fetchのあと、 git merge origin/master をしました。Master追従を覚悟するコマンド だと思っています。mergeしたあとgit log でチェックして、履歴に余計なものがあったら git reset --hard <v2.4.3commitHEAD> すればよいかなと思ってます。

反省というかなんというか

なんか弊環境のローカルmastodonリポジトリの権限周りがおかしい気がする。

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment