我希望得到一些指标上在我的仓库文件是最近最活跃的,使用不需要存储后的任何计算的测量.因此,它在上次修改之前的提交数量.
所以我的想法是这样的:
file_list = subprocess.Popen(['git', 'ls-files'])
(files, _) = proc.communicate()
missing_ages = files
ages = {f: -1 for f in old_ages}
commits_proc = subprocess.Popen(['git', 'ref-list', '--all', '--pretty=format:""'])
(commits, _) = commits_proc.communicate()
age = 0
for commit_sha in [s.split(' ')[1] for s in commits]
commit_list = subprocess.Popen('some', 'git', 'command')
commit_files = commit_list.communicate()
for file in commit_files
if file in missing_ages
ages[file] = age
missing_ages.remove(file)
age += 1
Run Code Online (Sandbox Code Playgroud)
我需要的是一个非瓷的git命令来获取提交中的文件列表.
git show --stat <commitish>它能够列出提交中的文件更改,但它不稳定,
它可以是稳定的,具有以下--porcelain选项:
使用用于脚本使用的特殊的基于行的格式。
添加/删除/未更改的运行以通常的统一 diff 格式打印,从+/-/行首的字符开始并延伸到行尾。输入中的换行符由单独一行上的
波形符表示。~
不过,您仍然需要进行一些解析。