LoginSignup
iwantit
@iwantit

Are you sure you want to delete the question?

If your question is resolved, you may close it.

Leaving a resolved question undeleted may help others!

We hope you find it useful!

git pull 時にコミット日付をフォルダにも反映したい

【開発環境】

Windows 10 HOME

AWS EC2
Laravel Framework 7.25.0
PHP 7.4.7

【目次】

  項目     
- はじめに
- この辺を参考に

はじめに

git pull 時にリモートリポジトリのコミット日付を下記のシェルスクリプトでサーバー側のファイルに反映してますが、フォルダの日付にも反映したいのですがどのようしすればいいでしょうか?
どなたかご教授下さい。

git-set-file-times.sh
for FILE in `git ls-files`; do
  TIME=`git log --pretty=format:%ci -n1 $FILE`
  echo $TIME'\t'$FILE
  STAMP=`date -d "$TIME" +"%y%m%d%H%M.%S"`
  touch -t $STAMP $FILE
done

この辺を参考に

コミット日付をタイムスタンプに復元したい

0

1Answer

実現方法ではなくアイデアだけです.

Git はディレクトリを管理していないので,ディレクトリの日付を何にするか決めないといけないと思います.
1つの実装アイデアだと,そのディレクトリに最初にファイルが作られた日付になるかと思います.
それは,コミットを辿ると得られるように思います.
あるいは,そのディレクトリにあるファイルのうち一番古いものの作成日付にしてもよいかもしれません.
こちらの場合は,若干実装が楽になりそうですが,ファイルが消えた場合にズレが生じることがあると思います.

1

Comments

  1. @iwantit

    Questioner
    @atm-snag 様
    返信が遅れてすみません。
    コメントありがとうございます。

    具体的なアイディアありがとうございます。
    非常に勉強になりました。

    >ファイルが消えた場合にズレが生じることがあると思います.
    →ファイルが無いとゴミファイルが作成されたので確かに検討の余地がありますね。

Your answer might help someone💌