在每次git提交时运行bash脚本
出于好奇,我想对一个我已经工作了一段时间的项目进行基准测试,看看它在不同任务中的性能随着时间的推移是如何变化的。此项目存储在git存储库中 从根本上说,似乎正确的方法是在每次git提交时运行bash脚本,git,bash,Git,Bash,出于好奇,我想对一个我已经工作了一段时间的项目进行基准测试,看看它在不同任务中的性能随着时间的推移是如何变化的。此项目存储在git存储库中 从根本上说,似乎正确的方法是 for r in $(git log --pretty="format:%H"); do git checkout $r echo "$r\t$(./benchmark.sh)" >> results.txt done 然而,这似乎是一种黑客行为(首先使用瓷器进行管道工程),因此我想知道是否有一种“
for r in $(git log --pretty="format:%H"); do
git checkout $r
echo "$r\t$(./benchmark.sh)" >> results.txt
done
然而,这似乎是一种黑客行为(首先使用瓷器进行管道工程),因此我想知道是否有一种“首选”方法,例如(我希望)
这似乎是一项非常常见的任务,这就是为什么我希望为此存在一些东西。对于初学者,您可以使用它
请参阅git hooks(man-githooks)->使用这些工具,您可以在SCM逻辑中的不同位置运行脚本,这很有趣,但不是我在本例中所寻找的。这是一个“我有两年的历史,我想把它画成一个图表”的问题。我不需要同步执行此操作。
git-bisect-run
可能类似,但用于另一种情况。哦,抱歉@zebediah49,也许你会在以后找到git-hook的用法;-)@Ron Dahlgren哦,完全同意。。即使是显而易见的“确保编译没有错误”测试也是一个很好的选择。
git black_magic-run-on-all ./benchmark.sh > results.txt
git rev-list HEAD