gpt4 book ai didi

git - 带有 git 存储库的确定性目录 mtime

转载 作者:太空狗 更新时间:2023-10-29 14:48:00 24 4
gpt4 key购买 nike

随着git-restoremtime脚本可以根据提交消息中的日期修改从 git 存储库中 check out 的文件的修改时间。

但是,如何使目录的 mtime 看起来直观、确定且一致?

我认为将每个目录的 mtime 设置为触及此类目录或其任何子目录中任何类型文件的最新提交的时间是最有意义的。这样的递归时间传播听起来合理吗?用 git 很容易做到吗?

最佳答案

事实证明,脚本很容易修改以支持目录的确定性 mtime。

https://github.com/cnst/git-tools/commit/89d09da9f362651ce9a0ca66362913c09e6b57cb https://github.com/cnst/git-tools/commit/b20207dc8fd9b791b8371dab94e98aca0a8412f6

最短的片段,与https://stackoverflow.com/a/13284558/1122270 集成, 如下:

dirlist = dict()
...

dir = file
while dir:
dir = os.path.dirname(dir)
if dir in dirlist:
if dirlist[dir] < mtime:
dirlist[dir] = mtime
else:
if os.path.isdir(dir):
dirlist[dir] = mtime
...

for file, mtime in dirlist.iteritems():
try:
os.utime(os.path.join(workdir, file), (mtime, mtime))
touches += 1
except Exception as e:
logger.error("ERROR: %s\n", e)
errors += 1

关于git - 带有 git 存储库的确定性目录 mtime,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14597701/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com