python - 有什么方法可以恢复 HG 或 GIT 变更集的下载?

标签 python git mercurial

我试图找到在客户端上更新特殊软件(Python 应用程序)的方法。 客户已经有 HG 或 GIT,我可以指定客户环境的任何要求。

但是客户端的网络连接速度很慢,并且断开了。

HG、GIT 和其他工具非常适合通过具有最小流量带宽的变更集进行更新过程。

但是如果变更集变大(从小的修订号跳到 HEAD),下载它们可能 因连接丢失而取消。

HG、GIT等能否通过pull命令恢复下载?


一种使用变更集捆绑的方法,使用 wget/curl 下载它们,其他使用恢复下载选项。然后应用 bundle 。

在此解决方案中,服务器必须为从 FROM 到 TO (1-2, 1-15, 2-15) 的每个修订跳转组合提供 bundle 。理想情况下,服务器必须根据客户端请求进行“惰性捆绑创建”。

wget -c https://repo.myserver.com/bundle?from=rev1&to=rev2

有没有其他方法可以从源代码库更新客户端软件?

抱歉我的英语不好:(

谢谢

最佳答案

Git 对于此类网络故障影响特别有效且具有弹性。

高效,因为它只 pull 树中变化或新增的对象,甚至传输压缩对象。

有弹性,因为除非所有必要的对象都存在,否则不会进一步扩展分支。这是 merge 仅在提取完成后发生。

如果要解释获取,则下次执行获取时,这次只会接收之前未接收到的新对象。

Bundling--transferring-through-wget--applying-bundle 显然是失败证明,但我不太确定是否真的有必要。

关于python - 有什么方法可以恢复 HG 或 GIT 变更集的下载?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6517519/

相关文章:

merge - Mercurial:执行 merge 时为 "no match found",如果我尝试剥离则为 "no node!"

mercurial - 我可以稍后在 Mercurial 中修复不正确的文件移动吗?

python - 没有匹配时打印空数据框

python - 在单次传递数据中使用 pyspark 查找最小值/最大值

git - 当计算忽略时,可以让 git 忽略嵌套的 .gitignore 文件吗?

java - 为什么新版本的 EGIT(3.3.x) 在我的系统和 eclipse 上出现错误?

python - 如何使用 jupyter Notebook 代码创建可执行文件?

python - 最大的python项目

git 工作流 : throwaway merges and git-rerere - what's the point?

mercurial - 与本地 checkout 状态相对应的提交/头的名称是什么?