# 概要
* 自分で触ってないコードがローカル環境のrubocopチェックで止まっていた
* rubocopする前にgit diffをしているが、失敗しているように見える
```
echo "${BASE_REMOTE:=origin}"
echo "${TARGET_BRANCH:=master}"
diff_files=`git --no-pager diff $BASE_REMOTE/$TARGET_BRANCH...HEAD --name-only --diff-filter=MAR`
```
# 調査
* エラーメッセージで調べると、safe.directoryオプションが必要になったらしい
```
detected dubious ownership in repositor
```
[[git]操作時にdetected dubious ownership in repositoryが発生するようになった](https://qiita.com/nekotouma0114/items/5206607584ccef5fb6b5)
* Git 2.35.2以降に入った機能らしい
https://zenn.dev/gorohash/articles/72c9c84778194f
```
CVE-2022-24765という脆弱性に対応するためGit 2.35.2以降に入った機能です。このバージョン以降、Gitは実行ユーザーが所有権を持たない.gitディレクトリをデフォルトで読み込まないようになりました。この動作に例外を設けるのがsafe.directoryという設定項目です。
```
* gitのバージョンを上げた覚えはないが、rubyバージョンアップ対応がマージされたタイミングから発生しているように見える
## rubyバージョンアップ対応前後のdocker imageを確認
### ruby3.0.0
* debian/git 1:2.20.1-2+deb10u3
https://hub.docker.com/layers/library/ruby/3.0.0/images/sha256-df83fc949ee94198553d0a1ee6796e25965915e09d0238e32ae610f1d0923195?context=explore
### ruby3.1.4
* debian/git 1:2.39.2-1.1
https://hub.docker.com/layers/library/ruby/3.1.4/images/sha256-a9256495e9da29f16b290573346d041b579a0ec7d36178425e8b2c3998e7adc2?context=explore
# 結論
* rubyバージョンアップの際にdocker imageが変わったことで、gitのバージョンも上がっていた
* 以下のようにsafe.directoryを設定する
```
git config --global --add safe.directory /app
```
# 参考
[CircleCIでのUbuntu14.04サポート終了対応](https://www.pivotaltracker.com/story/show/181603739)