GitLab Copy 项目推荐
1. 项目基础介绍和主要编程语言
GitLab Copy 是一个开源工具,主要用于在不同的 GitLab 实例之间批量复制问题(issues)、标签(labels)、里程碑(milestones)和笔记(notes)。该项目的主要编程语言是 Go,这使得它能够高效地处理批量操作,并且生成的二进制文件无需依赖即可运行。
2. 项目的核心功能
GitLab Copy 提供了以下核心功能:
- 跨实例复制:支持在不同的 GitLab 实例之间复制问题、标签、里程碑和笔记。
- 自定义配置:通过 YAML 配置文件,用户可以指定源和目标项目,以及相关的 GitLab 访问令牌。
- 批量操作:支持批量复制问题,并可以根据需要指定特定的范围或单个问题。
- 保留用户所有权:在复制笔记时,可以保留原始用户的所有权,前提是目标项目中已添加相关用户。
- 自定义链接文本:在复制问题时,可以自定义链接文本,例如 "Closed in favor of me/myotherproject#12"。
3. 项目最近更新的功能
GitLab Copy 最近的更新包括:
- 支持自签名 TLS 证书:通过
-k
命令行标志,支持使用自签名 TLS 证书的 GitLab 实例。 - 仅复制标签或里程碑:新增了
labelsOnly
和milestonesOnly
选项,允许用户仅复制标签或里程碑,而不复制问题。 - 用户所有权保留:在复制笔记时,新增了保留原始用户所有权的功能,前提是目标项目中已添加相关用户。
- 自定义问题范围:在 YAML 配置文件中,新增了指定特定问题或问题范围的功能,以便更灵活地进行批量操作。
通过这些更新,GitLab Copy 进一步增强了其功能性和灵活性,使其成为在不同 GitLab 实例之间进行批量数据迁移的理想工具。