提交钩子:获取已更改文件的列表

我正在开发验证和linting实用程序,以便与各种提交钩子(包括Git)集成

https://github.com/miohtama/vvv

目前验证器和短语在每次提交时都针对整个项目代码库运行。 但是,仅仅针对更改的文件运行它们会更加优化。 为此,我需要知道Git precommit钩子中的文件列表(使用Python)

https://github.com/miohtama/vvv/blob/master/vvv/hooks/git.py

我必须提供哪些选项才能提取已更改的文件列表(如果存在的话,请在Python中)?


如果你真的想让事情“正确”工作,预先提交钩子有点痛苦,因为工作树中的内容不一定与要提交的内容相同:

$ echo morestuff >> file1; echo morestuff >> file2
$ git add file1 # but not file2
$ git commit -m 'modified two files but check in just one'

你可以使用git diff-index --cached HEAD获取“要检入的内容”的列表。 另见例如http://newartisans.com/2009/02/building-a-better-pre-commit-hook-for-git/。

链接地址: http://www.djcxy.com/p/26649.html

上一篇: commit hook: getting list of changed files

下一篇: How to get files and content by SHA of commit