微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

如何将 Mercurial 子存​​储库推送到它们自己的源

如何解决如何将 Mercurial 子存​​储库推送到它们自己的源

我使用子存储库在多个项目之间共享代码。 我将这些共享存储库的“主”版本保存在一个中心位置。 这样我就可以轻松地将我在一个项目中对它们所做的更改推送到另一个项目中。 这是可行的,但理想情况下,我只想推送项目存储库,所有子存储库都应推送到他们的来源。但是 Mercurial 总是将所有子存储库推送到主存储库的源中。

这是我的设置:

Project1 (default path = Project-Central-Location/Project1)
 - lib-A (default path = Library-Central-Location/lib-A)
 - lib-B (default path = Library-Central-Location/lib-B)

Project2 (default path = Project-Central-Location/Project2)
 - lib-A (default path = Library-Central-Location/lib-A)

Library-Central-Location
 - lib-A   <= push of Project1 should push lib-A to this location
 - lib-B

Project-Central-Location
 - Project1
   - lib-A <= push of Project1 pushes lib-A to this location instead
   - lib-B
 - Project 2
   - lib-A

解决方法

我最终使用了钩子。首先,中心位置项目内部的库需要指向对应的中心库仓库:

Project-Central-Location
 - Project1
   - lib-A <= (default path = Library-Central-Location/lib-A)
   - lib-B <= (default path = Library-Central-Location/lib-B)
 - Project 2
   - lib-A <= (default path = Library-Central-Location/lib-A)

然后您需要将其添加到他们的 .hg/hgrc 文件中:

[hooks]
changegroup.hg-push = hg push

这样我就可以在每次推送项目时触发对中央库的推送。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐


Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其他元素将获得点击?
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。)
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbcDriver发生异常。为什么?
这是用Java进行XML解析的最佳库。
Java的PriorityQueue的内置迭代器不会以任何特定顺序遍历数据结构。为什么?
如何在Java中聆听按键时移动图像。
Java“Program to an interface”。这是什么意思?