我有一个文件夹充满了文件,我想得到的时间戳,最后git更新的每一个文件。
我想在Gradle任务中获得这些。
我用GrGit尝试了以下方法:
def git = org.ajoberstar.grgit.Grgit.open dir:project.rootDir
task showGit() {
doFirst {
file( "$project.rootDir/src/main/java/some/folder" ).listFiles().each{ f ->
git.log( includes:[ 'HEAD' ], paths:[ f.name ] ).each{
println "$f.name -> Author: $it.author.name - Date: ${it.date.format( 'dd.MM.yyyy HH:mm' )}"
}
}
}
}
但它什么也不打印。
如果我像这样省略paths
:
task showGit() {
doFirst {
git.log( includes:[ 'HEAD' ] ).each{
println "Author: $it.author.name - Date: ${it.date.format( 'dd.MM.yyyy HH:mm' )}"
}
}
}
它打印整个目录的所有提交信息。
如何获得每个文件的时间戳?
1条答案
按热度按时间vwoqyblh1#
事实证明,这是相当容易的。
受How to get the last commit date for a bunch of files in Git?的启发,我创建了自己的GrGit任务:
而且它的工作原理就像一个魅力!
唯一令人略感失望的是,在一个有150个文件的目录上的任务需要2分钟才能完成。