我有一个本地存储库,我现在决定将其推送到远程服务器(例如,我有一个允许使用 mercurial 存储库的主机,并且我也在尝试推送到 bitbucket)。存储库有很多文件,大小超过 200mb。在本地,我可以毫无问题地克隆存储库。
现在我在这个存储库中有很多更改,我浪费了几天时间试图弄清楚如何让远程服务器克隆我的存储库。我无法获得 hg serve
在局域网外工作。我已经尝试了一切。因此,我在远程服务器(主机和 bitbucket)上创建了一个新的存储库,其中没有任何内容。现在我将我在本地拥有的完整存储库推送到这些远程位置。到目前为止一直没有成功,因为push操作卡在searching for changes
上并且没有给我任何其他有用的输出。我已经放了大约一个小时,没有任何变化。
现在我的问题是,至于 hg serve
,我做错了什么?被关注到?我可以在本地但不能远程访问它(通过 DynDns - 我已经正确配置它并且路由器正确转发端口),以便我可以让服务器在第一次克隆存储库之后我将推送到它。我的第二个问题是,假设服务器上的克隆不起作用(例如,如果我要将当前存储库推送到 bitbucket),是否在服务器上创建一个空存储库,然后将本地存储库推送到新的远程存储库?是不是searching for changes
的来源问题?
在这方面的任何帮助将不胜感激。
最佳答案
what am I doing wrong as far as hg serve is concerned?
很难说,但是
hg serve
通常不是我在 3rd 方服务中创建远程克隆的方式。对我来说,如果没有必要,我不会在我的防火墙上戳一个洞。creating an empty repository at the server and then pushing a local repository to the new remote repository ok?
是的。这就是我在 Kiln 创建远程克隆的方式。在 Kiln 创建一个新的空仓库,获取新仓库的 URL,然后从我的电脑推送到它。
Is that the source of the searching for changes problem?
不确定,但是 this report表明真正大的插入可能是一个问题。他们建议插入较小的夹头(例如一次转几圈)。另一个考虑因素是您是否可以在没有修订历史记录的情况下生活(您是否同意从当前版本的文件创建一个新的存储库并推送该存储库。该报告还表明身份验证是一些问题的根源(但这似乎是不同的错误信息)。
否则,您需要进行更多调试以尝试将问题与此特定存储库、与远程的连接或远程存储库隔离。一些想法:
关于mercurial - 将本地 mercurial 存储库推送到远程服务器或从本地克隆到服务器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4561064/