为子文件夹和文件递归提取 git 时间
extracting git time recursivley for subfolders and files
我正在尝试创建一个字典,其中的元素格式为 filename: timestamp in yy-mm-dd hh:mm:ss 。这应该递归地包括 repo 中的所有子文件夹和文件。我看到了这段代码:
import git
repo = git.Repo("./repo")
tree = repo.tree()
for blob in tree:
commit = repo.iter_commits(paths=blob.path, max_count=1).next()
print(blob.path, commit.committed_date)
但是,这仅包括主要的子文件夹。如何递归包含子文件夹和文件
注意:Roland 此处的以下解决方案不包括子文件夹,只需要 files.Also 我需要在下载 git repo 的路径中,然后 运行 脚本通过给出它的绝对路径
Get time of last commit for Git repository files via Python?
这对我有用
http://gitpython.readthedocs.io/en/stable/tutorial.html#the-tree-object
根据文档,由于树仅允许直接访问它们的中间子条目,因此使用遍历方法获取迭代器以递归检索条目
它创建了一个生成器对象来完成工作
print tree.traverse()
<generator object traverse at 0x0000000004129DC8>
d=dict()
for blob in tree.traverse():
commit=repo.iter_commits(paths=blob.path).next()
d[blob.path]=commit.committed_date
我正在尝试创建一个字典,其中的元素格式为 filename: timestamp in yy-mm-dd hh:mm:ss 。这应该递归地包括 repo 中的所有子文件夹和文件。我看到了这段代码:
import git
repo = git.Repo("./repo")
tree = repo.tree()
for blob in tree:
commit = repo.iter_commits(paths=blob.path, max_count=1).next()
print(blob.path, commit.committed_date)
但是,这仅包括主要的子文件夹。如何递归包含子文件夹和文件
注意:Roland 此处的以下解决方案不包括子文件夹,只需要 files.Also 我需要在下载 git repo 的路径中,然后 运行 脚本通过给出它的绝对路径
Get time of last commit for Git repository files via Python?
这对我有用
http://gitpython.readthedocs.io/en/stable/tutorial.html#the-tree-object
根据文档,由于树仅允许直接访问它们的中间子条目,因此使用遍历方法获取迭代器以递归检索条目
它创建了一个生成器对象来完成工作
print tree.traverse()
<generator object traverse at 0x0000000004129DC8>
d=dict()
for blob in tree.traverse():
commit=repo.iter_commits(paths=blob.path).next()
d[blob.path]=commit.committed_date