跳转到主要内容

未提供项目描述

项目描述

人与机器兼容

[我们的立场在这里]

为什么使用单一仓库?

以下内容说明了为什么一个组织可能希望将其代码组织为单一仓库

https://monorepo.tools/

在实践中,为了更好地与开源贡献者普遍的期望相兼容,这是一个包含git子模块的单一仓库。这使得它不是一个“纯”单一仓库。但无论如何,它应该能够实现两者的最佳之处。

具体细节

这个公共单一仓库的目的是提供一个单一的集成仓库。具有以下好处

  • 外部方可以轻松复制我们基础设施的集成配置。
  • Human Compatible的每个人都在使用共同的集成代码库
  • 可以在相互依赖的Human Compatible库之间运行GitHub集成测试。

我们大量使用git子模块,以便较小的库可以轻松地被拆分到它们自己的仓库中。这种做法的好处是

  • 我们仍然获得上述单一仓库的好处
  • 如果外部方只想与一个库交互,他们只需接触较小的仓库即可
  • 新来者更容易理解较小的仓库

许可证

公共单一仓库中的一切都受Apache-2.0许可证的许可。

Git子模块根据其各自的仓库进行许可。

git子模块的使用

git子模块以以下方式使用

  • 为Human Compatible开发和维护的公共库的子模块存储在libs/[submodule]下。
    • 所有与人类兼容的仓库都可以在 https://github.com/Human-Compatible/[子模块] 找到,其中 main 是默认分支。
  • 第三方包的子模块位于 third-party/[子模块]
    • 所有第三方仓库都被分叉到 Human-Compatible 组织中,并创建了一个名为 human-compatible 的分支。该分支随后被单一代码库中的子模块指向。
    • 分叉仓库的 main / master 分支相对于上游仓库不应有额外的提交。
  • 任何必须本身是私有的子模块应包含在指向 https://github.com/Human-Compatible/private 仓库的 private 子模块中。

添加第三方子模块

将第三方仓库分叉到 Human-Compatible 组织后,将其添加到单一代码库中。以下是在 cal.com 仓库中实现此操作的示例

git submodule add -b human-compatible ../cal.com.git third-party/cal.com

请确保使用子模块的“相对URL”,以便在克隆时用户可以自由选择 https 或 ssh。

项目详情


下载文件

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

源代码分发

humancompatible-0.0.0.tar.gz (5.9 kB 查看哈希)

上传时间 源代码

构建分发

humancompatible-0.0.0-py3-none-any.whl (6.4 kB 查看哈希)

上传时间 Python 3

由以下机构支持

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