跳转到主要内容

repo脚本的补充

项目描述

Repo Find Orphans

这是一个简单的工具,与谷歌的 repo 多个Git仓库管理工具配合使用。它解决了两个问题

  • 本地孤岛: 开发者可能在没有首先在repo清单中注册的情况下将子项目添加到仓库中。这不是repo工作流中推荐的操作,但在大型团队中这却经常发生。这些未注册的目录变成了孤岛,repo工具在同步和更新时忽略了它们。该工具通过找到孤岛目录来处理这个问题,然后开发人员可以将这些目录包含在未来跟踪的项目清单中。

  • 远程孤岛: 此工具还可以在您的GitHub账户中搜索那些没有出现在您的repo清单中的仓库。这对于发现您在其中协作但未由您的repo项目监控的仓库非常有用。

破坏性变更

版本0.1.0对CLI界面引入了破坏性变更。

安装

有两种方法可以安装此工具

  1. 使用pip: 这将在您的活动虚拟环境或全局Python环境中安装该工具。要使用pip安装,请使用以下命令
   pip install repo-find-orphans
  1. 使用pipx: 如果您想保持Python全局环境干净或希望在隔离环境中安装Python CLI工具,请使用pipx选项。
  • 首先确保已安装pipx
pip install pipx
  • 然后安装工具
pipx install repo-find-orphans

这将创建一个专用的虚拟环境用于工具,并将可执行脚本添加到您的 ~/.local/bin 目录。

使用方法

在安装此工具后,使用以下命令之一查找孤立的工程。

查找本地孤立工程

此功能会扫描您的本地项目目录,并找到其中的所有项目。然后它会参考指定的清单文件,查看哪些项目存在于目录中但未在清单中提及。然后,它将打印出此类项目的列表,供您审查和可能添加到清单中。

repo-find-orphans local MANIFEST_FILE PROJECT_DIR

MANIFEST_FILE 替换为您清单文件的路径,将 PROJECT_DIR 替换为您项目目录的路径。

查找远程孤立工程

此功能搜索您的 GitHub 账户中未出现在您的仓库清单中的仓库。这对于查找您协作但未由您的仓库项目监控的远程仓库非常有用。它使用 'selections.yaml' 文件,允许指定哪些项目应从您的远程扫描中排除。

有关详细信息,请参阅 远程项目选择。除了存储在您的 GitHub 账户中的仓库外,它还会扫描您是成员的所有组织以及您被添加为协作者的单独仓库。

要调用此功能,请使用以下命令

repo-find-orphans remote MANIFEST_FILE  PATH_TO_SELECTION_CONFIG

MANIFEST_FILE 替换为您清单文件的路径,将 PATH_TO_SELECTION_CONFIG 替换为您选择配置文件的路径。

远程项目选择

selections.yaml 文件允许您选择要包含或排除在您的远程扫描中的项目。配置文件由多个顶级部分组成,每个部分对应于考虑中的某个账户或组织。每个部分可以包含一个 includeexclude 子部分以进一步细化选择。如果没有指定 includeexclude 部分,则将包含组织中的所有项目。

如果指定了 includeexclude,则按以下方式解释

  • include: 部分首先考虑。如果此部分包含前缀列表,则只有匹配任何前缀的项目将包含在扫描中。如果此部分为空或不存在,则包含所有项目。

  • exclude: 部分其次考虑。此部分也包含前缀列表。如果项目的名称与此部分中的任何前缀匹配,则将从扫描中排除。如果此部分为空或不存在,则不排除任何项目。

例如

Ebiquity:
  exclude:
    - procure

此配置将包括 Ebiquity 组织的所有项目,但排除以 procure 开头的项目。

solmir:
  include:
    - bob
    - bill

此配置将仅包括 solmir 组织中以 bobbill 开头的项目。

reddit: {exclude: [""]}

此配置将包括 reddit 组织的所有项目。

apache:
  include:
     - accumulo
  exclude:
     - accumulo-examples
     - accumulo-pig

此配置将仅包括从 apache 组织开始以 accumulo 开头的项目,但排除 accumulo-examplesaccumulo-pig

故障排除

如果您使用 pipx 安装了您的工具,但在尝试运行它时收到 未找到命令 错误,请检查 ~/.local/bin 是否包含在您的 shell 搜索路径中。如果不包含,请运行 pipx ensurepath 修复此问题。

项目详情


下载文件

下载适用于您平台的文件。如果您不确定选择哪个,请了解有关 安装软件包 的更多信息。

源代码分发

repo_find_orphans-0.1.2.tar.gz (10.6 kB 查看哈希值)

上传于

构建分发

repo_find_orphans-0.1.2-py3-none-any.whl (9.6 kB 查看哈希)

上传于 Python 3

由以下支持

AWS AWS 云计算和安全赞助商 Datadog Datadog 监控 Fastly Fastly CDN Google Google 下载分析 Microsoft Microsoft PSF赞助商 Pingdom Pingdom 监控 Sentry Sentry 错误日志 StatusPage StatusPage 状态页面