😺

git:ファイルが削除されたコミットを確認する方法

2024/09/03に公開
$ git log -- <path-to-file>

SONiCなどデザイン変更が頻繁でドキュメントとソースコードが不整合を起こしている場合など、「このファイルいつ&なんのために削除されたの?」と確認したくなった場合に上記コマンドで確認可能です。
(ファイルが存在する場合の変更履歴は git blame で確認可能)

例えば sonic-net: SONiC/sourcecode.md では、"swss container は start.sh がプロセスを起動する" と記載がありますが、現在このファイルは存在していません。

履歴を確認してみると、2020年に "(start.shではなく)supervisord を使ってサービスを開始する" ような変更が加えられたことがわかります。

sonic-buildimage$ git log -3 --oneline -- dockers/docker-orchagent/start.sh
b8da6c358 [docker-orchagent]: use service dependency in supervisord to start services
2e86caaed [vxlanmgrd]: Add vxlanmgrd start command (#2705)
39e12a1d8 [swss]: Change VrfMgrd startup order, cleanup VRF_TABLE from state DB (#2510)

https://github.com/sonic-net/sonic-buildimage/commit/b8da6c35887b56e607312bf0036d121b20bf8d24

Discussion