Language agnostic 将DVCS存储库推送到master,而不需要代码库

Language agnostic 将DVCS存储库推送到master,而不需要代码库,language-agnostic,version-control,dvcs,vpn,Language Agnostic,Version Control,Dvcs,Vpn,要在客户机的登台环境中工作,我必须通过VPN进行连接,该VPN锁定所有正常网络流量,并阻止任何与Internet的连接 这将立即阻止使用任何“正常”VCS解决方案,因为无法访问服务器。解决方案是在本地创建一个DVCS存储库(git?),然后在需要时将更改推送到主存储库。这个计划有一个缺陷 整个代码库大约为14GB。通过互联网下载所有这些都需要一些时间,尤其是当我可能在3或4台不同的机器上工作时。对于DVCS来说,这似乎既愚蠢又过分 TL;DR 是否有任何DVCS解决方案允许您在不需要代码库的情况

要在客户机的登台环境中工作,我必须通过VPN进行连接,该VPN锁定所有正常网络流量,并阻止任何与Internet的连接

这将立即阻止使用任何“正常”VCS解决方案,因为无法访问服务器。解决方案是在本地创建一个DVCS存储库(git?),然后在需要时将更改推送到主存储库。这个计划有一个缺陷

整个代码库大约为14GB。通过互联网下载所有这些都需要一些时间,尤其是当我可能在3或4台不同的机器上工作时。对于DVCS来说,这似乎既愚蠢又过分

TL;DR
是否有任何DVCS解决方案允许您在不需要代码库的情况下推送到主服务器/repo?坏例子:将.git文件夹(不是14GB代码库)复制到另一个目录,并在与VPN断开连接后将其推送到主机。

我不知道任何DVC在不以某种方式将代码库传输到远程服务器的情况下工作

但是像git或mercurial这样的现代DVC能够压缩初始代码基。在客户机上创建初始存储库后,您通常会惊奇地发现
.hg
.git
目录比添加的工作目录小得多(对于git,您需要首先重新打包repo才能看到空间的增加)


对于更小的传输,可以使用mercurial的(它使用bz2而不是zlib)。

我不知道任何DVC在不将代码库传输到远程服务器的情况下工作

但是像git或mercurial这样的现代DVC能够压缩初始代码基。在客户机上创建初始存储库后,您通常会惊奇地发现
.hg
.git
目录比添加的工作目录小得多(对于git,您需要首先重新打包repo才能看到空间的增加)


对于更小的传输,可以使用mercurial的代码库(它使用bz2而不是zlib)。

没有任何子项目的14GB代码库(它不能拆分)?我不认为有DVC真的可以处理部分历史记录(这就是你要寻找的)。由于VPN的锁定特性,除了客户提供的基本的每日、每周和每月备份过程之外,很难在项目上实现任何类型的版本控制。可以将其转化为子项目,但其中最大的项目将在4GB左右。这个代码库没有以前的vcs历史记录,只是——幸运的是?——这是一组令人惊讶的文档,我们一直在关注更新。所以问题是将数据从客户端(已经有代码库)传输到服务器?我说得对吗?有几点可能对您有所帮助:hg回购或重新打包的git回购可能比14GB小得多(在hg的情况下,它是gzip的,git可能会做一些类似的增量压缩)。然后您只需将repo推送到服务器上一次,之后它将只是更小的delta。@tonfa您是正确的,问题是将代码库(在VPN上)传输到服务器(在Internet上)。我建议您尝试将文件放入hg和git repo中,并测量.hg和.git目录的大小。也许你会有一个惊喜。14GB的代码库没有任何子项目(它不能被拆分)?我不认为有DVC真的可以处理部分历史记录(这就是你要寻找的)。由于VPN的锁定特性,除了客户提供的基本的每日、每周和每月备份过程之外,很难在项目上实现任何类型的版本控制。可以将其转化为子项目,但其中最大的项目将在4GB左右。这个代码库没有以前的vcs历史记录,只是——幸运的是?——这是一组令人惊讶的文档,我们一直在关注更新。所以问题是将数据从客户端(已经有代码库)传输到服务器?我说得对吗?有几点可能对您有所帮助:hg回购或重新打包的git回购可能比14GB小得多(在hg的情况下,它是gzip的,git可能会做一些类似的增量压缩)。然后您只需将repo推送到服务器上一次,之后它将只是更小的delta。@tonfa您是正确的,问题是将代码库(在VPN上)传输到服务器(在Internet上)。我建议您尝试将文件放入hg和git repo中,并测量.hg和.git目录的大小。也许你会有一个惊喜。