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が権限設定のせいかうまくいかなかった。「(許可がありません)」のログが示している通り。
以前も権限周りで落ちたことがあったので、そのときの対処と同じように $ sudo chmod -R 0777 public/
したことで、許可がありませんと怒られることはなくなった。
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。地獄。
どう解決させたかといいますと、git fetch
のあと、 git merge origin/master
をしました。Master追従を覚悟するコマンド だと思っています。mergeしたあとgit log
でチェックして、履歴に余計なものがあったら git reset --hard <v2.4.3commitHEAD>
すればよいかなと思ってます。
なんか弊環境のローカルmastodonリポジトリの権限周りがおかしい気がする。