颠覆:有什么比“颠覆”更快的吗;“svnsync”是什么;?
因此,我将subversion存储库存储在一些云上(例如code.google.com),但由于各种原因,我需要使我的代码非公开 我决定需要下载整个存储库并迁移到我自己的svn服务器 所以我开始使用:颠覆:有什么比“颠覆”更快的吗;“svnsync”是什么;?,svn,version-control,svnsync,Svn,Version Control,Svnsync,因此,我将subversion存储库存储在一些云上(例如code.google.com),但由于各种原因,我需要使我的代码非公开 我决定需要下载整个存储库并迁移到我自己的svn服务器 所以我开始使用: svnsync init DEST SRC svnsync sync DEST 每次修订回购协议都需要0.5秒 幸运的是,我的回购协议只有大约200次修改。。。所以我要等几分钟。但是有200000或2000000次修订的成熟项目呢 。。。2e6*0.5/60/60/24~大约11天 有什么比“
svnsync init DEST SRC
svnsync sync DEST
每次修订回购协议都需要0.5秒
幸运的是,我的回购协议只有大约200次修改。。。所以我要等几分钟。但是有200000或2000000次修订的成熟项目呢
。。。2e6*0.5/60/60/24~大约11天
有什么比“svnsync”更快的方法可以从云上下载您的repo吗?很显然,您可以自己在服务器上备份它,然后压缩并下载它。或者你不能下载所有的历史记录
但这个问题的重点是什么?这有点学术性,因为你的问题已经解决了。在我收集的存储库中,有几十万次的修订,我也有同样的问题。以下是我的应对方法:
--force uuid
现在,您可以在主服务器上运行svnsync了。这将从您的转储停止的地方继续进行。在OP的情况下,您没有对svn服务器的控制台访问权,
svnsync
(本质上是从URL 1到svn提交到URL 2的svn签出
)与您将得到的一样好
但是,如果您确实可以访问服务器,则有比svnsync
更快的方法。构建镜像的一个好方法是使用svnadmin hotcopy
创建存储库的初始副本,然后使用svnsync init--allow non empty
选项将其转换为镜像。这也为您提供了一个钩子等的备份,而svnsync则不会这样做
请注意,您需要将钩子
目录移动到钩子原始
或其他位置,以便镜像不会使用这些钩子——特别是如果原始repo上有一个post-commit钩子,它调用svnsync sync
是的,有。由执行的复制至少比通过svnsync
执行的复制快10倍。此外,镜像的VDFS存储库是可写的
该技术使分布式团队能够以相同的速度使用Subversion存储库,就好像他们都在同一个本地网络中一样。使用VDFS技术,可以跨多个站点和位置复制主存储库,从而使读取操作的速度提高1000%。例如,50Gb的工作副本可以在10分钟内签出。通过常规互联网连接执行相同的任务至少需要一个小时 “压缩并下载”。这确实是最快的方法,但使用subversion命令(通过subversion网络协议)无法实现,使用Google代码也可能无法实现。一点学术好奇心是不会有任何伤害的。;-)我尖刻的回答是“git更快”(因为它更快)。但是使用“svnadmin dump”和“svnadmin load”,你可能也会看到更快的速度。你如何在code上进行svnadmin转储。google.com/?@DietrichEpp你在2010年的评论很尖刻。但是,git
现在是事实上的标准。考虑到git
是事实标准,建议“使用git
而不是svn
”是一个很好的答案。此外,我使用write-thru-mirror技术将其用作远程办公室的本地镜像。此外,我在当地办公室运行一个“紧急备份”。