在服务器端剥离一个Mercurial分支



我们有一个SOLUTION文件夹(Mercurial库),其中我们有一个PROJECT文件夹,这也是一个Mercurial库。

所以两个存储库:一个-根(解决方案)文件夹,另一个-根文件夹(项目)的子文件夹(是的奇怪,但它是这样的)…

一切正常,但是有一天,有人不知怎么地将解决方案分支包含到项目存储库中…因此,来自解决方案分支的所有历史记录都与项目分支并行地包含在项目存储库....

中。

现在项目仓库有点乱…有必要清理这个存储库……

它通过应用hg strip rev XXS在本地工作(其中XXS是项目存储库中新添加的解决方案分支的第一个节点的修订号)。

但是服务器上似乎没有相应的条带?!每次我们在项目存储库中拉入变更时,"解决方案"分支将被重新导入....

是否有办法在服务器端管理它?

当然,同样的解决方案也可以在服务器上工作。因此,您需要登录访问服务器本身,才能在其上执行相同的本地历史操作。但是对于默认设置(发布服务器),推送永远不会删除远程位置上的更改集;当您对本地存储库进行历史编辑时,更改不会全部传播:只有添加到图中的更改会传播,而不会删除。

如果这种对远程服务器的更改预计将被推送,并且这是一件经常发生的事情,您可能需要研究阶段的使用以及如何设置非发布服务器,例如具有可变历史记录的服务器:phases# Publishing_Repository。
请注意,这样的工作流还意味着每个具有推送权限的人员必须将其默认阶段更改为'draft'而不是'public' -至少对于该项目而言。

终止服务器回购。新建一个,然后从local:

最新更新