如何从python脚本运行gitfilterrepo命令?

2024-10-01 05:01:42 发布

您现在位置:Python中文网/ 问答频道 /正文

正在尝试从python运行git filter repo命令。我不知道该怎么做。 git filter-repo --path README.md --path guides/ --path tools/releases

到目前为止,我已经:

    filtering_options = git_filter_repo.FilteringOptions.default_options()
    filtering_options.source = _fragment_repo_git_directory(workspace, "svn-import")
    filtering_options.target = _main_repo_git_directory(workspace).encode()
    filtering_options.force = True

    filtering_options.replace_refs = "update no add"
    repo_filter = git_filter_repo.RepoFilter(
        filtering_options,
        #  ?????????
    )
    repo_filter.run()

Tags: pathgit命令repofiltertoolsmdworkspace
1条回答
网友
1楼 · 发布于 2024-10-01 05:01:42

您可以从^{}脚本中得到启发,该脚本使用回调函数作为# ?????????参数:

try:
  import git_filter_repo as fr
except ImportError:
  raise SystemExit("Error: Couldn't find git_filter_repo.py.  Did you forget to make a symlink to git-filter-repo named git_filter_repo.py or did you forget to put the latter in your PYTHONPATH?")

def lint_non_binary_blobs(blob, metadata):
  ...

filter = fr.RepoFilter(args, blob_callback=lint_non_binary_blobs)
filter.run()

相关问题 更多 >