gpt4 book ai didi

version-control - 如何正确添加子存储库

转载 作者:行者123 更新时间:2023-12-01 12:51:42 25 4
gpt4 key购买 nike

我有一个名为 main 的存储库,在它下面有许多子存储库。最初创建 main super 存储库时,我已经将现有的存储库复制到 main 文件夹中,然后添加 .hgsub 文件以指示子仓库的名称。

现在,这个 main 文件夹位于我们公司的文件服务器上,由 hgService 提供服务,我们需要向其中添加新的存储库。在广阔的绿色世界中,这是如何无缝完成的?

如果我将 main 克隆到我的本地计算机,然后 hg init newrepo,并将其复制到克隆的 main 中并添加正确的条目.hgsub 我可以提交,但我不能推送。它给我一个类似http error 404 path not found 的错误。好的,很公平,所以我将条目添加到 hgServiceweb.conf 文件中,然后重新启动。现在我得到一个不同的错误,比如 subrepository 'newrepo' doesn't exist 好吧!我正在尝试添加它!

所以我终于崩溃了,不得不 RAdmin 到服务器,手动创建一个新的 repo,将它添加到 hgService 服务的 main repo 并提交更改。这对我来说似乎非常肮脏,让事情变得更加困难的是服务器工作目录的状态已经过时了大约 6 个月,我必须解决无数问题才能将其更新到最新版本。

必须有更好的方法来做到这一点.. 我不能让用户 RAdmining 进入公司。 VCS 服务器每次都需要一个新的版本库?对吧?

最佳答案

不幸的是没有——添加一个新的子存储库需要在服务器上创建它,你不能hg push一个新的存储库到服务器上。因此,如果在服务器上创建存储库需要登录服务器,那么添加子存储库也需要同样的操作。

Mercurial 附带的 hgweb 脚本(我将 you're referring to by hgService )没有让用户创建新存储库的内置机制。假设新存储库是通过其他方式创建的,然后 hgweb 将通过 HTTP 提供只读 View ,并让用户使用 Mercurial 推送/拉取到存储库。

Mercurial 还有其他 Web 前端。我最熟悉Kallithea .它允许您直接从浏览器创建/删除存储库,因此您不再需要登录服务器。这是一种比使用普通 hgweb 更好的管理存储库的方法。

关于version-control - 如何正确添加子存储库,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12014592/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com