【问题标题】:How to work without access to subrepository in Mercurial如何在没有访问 Mercurial 子存​​储库的情况下工作
【发布时间】:2013-12-24 17:27:06
【问题描述】:

有一个项目存储库 A 使用框架子存储库 B。内部团队可以访问两者。是否可以在不破坏与 A 合作的可能性的情况下限制外部团队对 B 的访问?

目前在克隆过程中取消密码输入时,它会显示“中止:预期响应(在 subrepo ...)”。 或者也许还有其他方式可以与不同的访问规则进行协作?

提前致谢!

【问题讨论】:

  • 通常父存储库需要子存储库。也许您可以将子存储库限制为只读(不确定)。或者,如果需要,忘记子存储库并将子存储库作为位于 lib 文件夹或其他任何位置的已编译二进制文件提供。不确定这是否符合您的要求,但有一些想法。
  • 谢谢,但这并不能解决问题。子存储库是私有的,外部团队不应有任何访问权限。编译后的二进制文件不是答案,因为子存储库包含主存储库项目中使用的 c++ 项目。
  • 好的。这就是为什么我发布评论而不是答案。不过,对二进制文件的一条评论是,您可以将 C++ 子存储库编译为 dll(库),然后在主存储库中引用该 dll。
  • 这将是“难以调试”的解决方案(当我在 Visual Studio 下调试项目时 - 它不会提供调试 dll 中的错误的可能性。
  • 我认为如果您提供 pdb 文件和 dll,您可以调试它。虽然它可能并不完美(某些代码可能已被编译器优化,并且与编写的内容不完全匹配)。它将是实际运行的代码。

标签: mercurial dvcs tortoisehg mercurial-subrepos


【解决方案1】:

对不起,不可能。对“父”存储库的操作至少需要对“子”存储库的读取权限。在这一点上可能需要做很多工作,但要考虑的一件事是让它们成为“外部”伞式存储库的“兄弟”存储库。该设置如下所示:

 UMBRELLA
     PROJECT
     FRAMEWORK

然后,有权访问两者的人可以签出 UMBRELLA 并在已知、可预测的位置拥有两者,并且仍然可以从一个位置跨两者进行提交。那些可以访问 PROJECT 但不能访问 FRAMEWORK 的用户只会检查 PROJECT。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2021-10-16
    • 1970-01-01
    • 2022-01-16
    • 2011-03-06
    • 1970-01-01
    • 2020-08-07
    • 2020-02-04
    相关资源
    最近更新 更多