我正在尝试获取git存储库中单个文件的代码流失度量标准。我遇到了一个名为codemaat(https://github.com/adamtornhill/code-maat)的工具来计算git logs中的代码流失。当我针对日志文件运行它时,它给了我
$ docker run --rm -v /home/user/Documents/codestatisticsVCS/code-maat-master:/codemaat code-maat -l /codemaat/pmygit.log -c git2 -a abs-churn
date,added,deleted,commits
2012-11-27,36,98,4
2012-12-10,24,0,2
2013-05-30,1,1,1
2014-02-14,10,21,1
2014-04-17,8,2,1
..
.. so on
问题是两部分:(1)我认为代码流失度量是git文件的单个值,这里给出了一个添加,删除和提交的列表,所以我的理解正确或不正确,什么是确切的公式? (2)下一个问题是关于添加,删除和提交,它们代表什么?为什么承诺是2或4,我们想要俱乐部吗?
答案 0 :(得分:1)
代码maat用于提交而不是文件。您还可以在您指定的提交中找到输入数据(git log --pretty=format:'[%h] %aN %ad %s' --date=short --numstat --after=YYYY-MM-DD
)。
如果您只需要在git repo中分析文件的数据,解决方法是将文件移动到另一个仓库,然后使用代码maat来分析新的git仓库。
将文件移动到新git仓库的方法如下:
git clone URL
cd gitrepo
git remote rm origin
git filter-branch -f --prune-empty --index-filter "git rm --cached --ignore-unmatch $(git ls-files | grep -v 'filename)"
#view the commit history to check if the old history is replaced totally
现在所有提交仅跟踪文件的更改(上述命令中的filename
),您可以指定要分析文件的提交。