我正在尝试使用子存储库,但是在将更改推送/拉取到服务器时一直遇到奇怪的问题。我觉得这是一个错误,但我不确定。
我已确定在本地提交更改后,将更改发送到服务器的最佳方法是使用服务器驱动器上的hg pull -u
。我所做的是在c:
上cd
我的存储库的根目录,在z:
上cd
服务器存储库的根目录,然后使用命令hg pull -u c:
fromz:
。
(我发现的原因是你不能将-u
与push
一起使用,如果你不更新,那么当前的修订版最终会落后于最新的修订版(比如你推送的那个是 100,但它仍然会在 99 上),然后当你提交更多更改时,你会遇到奇怪的合并问题,因为你从 99 开始工作,现在必须合并回 100+。
好的,但这不是错误。错误是当我做hg pull -u c:
时,它似乎正在工作,但随后出现如下错误:
Z:>hg pull -u c:
pulling from c:
searching for changes
adding changesets
adding manifests
adding file changes
added 1 changesets with 1 changes to 1 files
new changesets e8003f274ea0
abort: repository c:/SomeProject not found!
所以,这对我来说似乎是一个错误,因为路径c:/SomeProject
是错误的,路径应该是c:SomeProject
的。一旦发生这种情况,我必须手动更新错误的子存储库。
也许这与我如何设置子存储库有关?我通过枚举项目目录中的文件夹并将FolderName = FolderName
写入每个文件夹的文本文件来制作.hgsub
文件。所以它看起来像:
SomeProject = SomeProject
SomeOtherProject = SomeOtherProject
etc.
也许它应该有不同的格式?
我最近从版本2.something升级到版本4.4.2,并惊讶地发现这种情况仍然发生。
我最终将其报告为错误,并在下一个版本中修复。