Version control Mercurial,有没有办法只存储对代码库的更改而不是整个代码库本身?
我的应用程序依赖于一个超过500兆的大型第三方库。我得到这个库的源代码是一个zip文件,一年发布几次。我需要能够对这个代码库进行更改,我希望这些更改能够保存在Mercurial存储库中,但我真的不想将一个500兆的代码库推送到远程存储库。首先,上传要花很长时间,它会占用我在远程服务器上的大部分空间,而且需要很长时间才能获取新的副本 所以我想知道的是:有没有办法只在远程存储库中存储对代码库所做的更改,而不推送整个代码库本身?因此,创建一个新的构建将包括从文件服务器下载的zip可再发行版本中安装原始代码库,将原始代码库初始化为Mercurial存储库,然后从远程存储库提取对该代码库所做的更改 还是有一种完全不同的方法来实现相同的目标?Mercurial Queues(MQ)是处理对第三方代码的更改的建议方法。您可以将MQ修补程序存储在单独的存储库中 这里有一个例子。假设我们有第三方somelib.zip。我们第一次:Version control Mercurial,有没有办法只存储对代码库的更改而不是整个代码库本身?,version-control,mercurial,Version Control,Mercurial,我的应用程序依赖于一个超过500兆的大型第三方库。我得到这个库的源代码是一个zip文件,一年发布几次。我需要能够对这个代码库进行更改,我希望这些更改能够保存在Mercurial存储库中,但我真的不想将一个500兆的代码库推送到远程存储库。首先,上传要花很长时间,它会占用我在远程服务器上的大部分空间,而且需要很长时间才能获取新的副本 所以我想知道的是:有没有办法只在远程存储库中存储对代码库所做的更改,而不推送整个代码库本身?因此,创建一个新的构建将包括从文件服务器下载的zip可再发行版本中安装原始
hginit
和hgci-A-m'Init'
hg qinit——创建repo
hg qnew first patch
hgci--mq-m“创建第一个修补程序”
hg qpop-a
取消应用所有修补程序,抓取它并使用hg qpush-a
再次应用所有修补程序
假设现在我们想在另一台机器上使用somelib.zip。然后我们重复步骤1-3和下一步:
hg qpush-a
应用所有修补程序--mq
,可以将它们切换到使用mq存储库。例如,您可以使用hgpush--mq
推送提交
下面是记录的演示:。稍微有点棘手的方法是,在存储库中存储的不是变更集本身,而是导出保存包补丁(由原始变更集生成)的结果。你想了解更多详情吗?是的,请了解更多详情。我还想知道是否有某种方法可以使用重定基来实现这一点。或者?