gpt4 book ai didi

git - 通过文件服务器镜像存储库

转载 作者:太空狗 更新时间:2023-10-29 13:56:29 24 4
gpt4 key购买 nike

是否可以通过将更改发布到“哑”文件服务器并在另一端重新组装它们来镜像存储库(在您选择的 SVN、Git、Hg 等中)?

Diagram of the process

可能的问题包括

  • 处理移动/重命名/删除的文件
  • 二进制文件
  • 空目录

例如,我理解 svn diff > r1.patch 意味着您丢失了二进制文件,因为 SVN 不打算包含它们。

注意:这并不是将存储库放在文件服务器上(除非有一种方法可以在不上传整个存储库文件的情况下做到这一点),因为我们正试图最大限度地减少带宽。此外,存储差异而不是存储库意味着可以进行加密。

最佳答案

是的,这是可能的

颠覆

  • 从版本 N ( svn diff -c N --git PATH > PATCH.N ) 制作 git-patch;
  • 存储补丁;
  • 在另一侧应用补丁 ( svn patch PATCH.N <WCPATH> );

Mercurial

单一变更集交换(对 merge 集也不利)

  • 将变更集 N 导出为补丁 (hg export -g -r N -o %b-%r.patch)(-o 带有文件名,用于在一个目录中进行多存储);
  • 存储补丁;
  • 在另一侧应用补丁 ( hg import --exact -s 100 FILENAME.patch )。

范围集交换

捆绑

  • 捆绑范围 N:M ( hg bundle --base parent(N) --rev N::M N-M.hg );
  • 存储补丁;
  • 在另一侧应用补丁 ( hg unbundle -u N-M.hg )。

导出

  • 将范围集 N:M 导出为补丁 (hg export -o %b-%r.patch -r N::M)(文件名为“repobasebame-revno.patch”的补丁集);
  • 存储补丁;
  • 相应地在另一侧应用补丁(从最少到最多)。

关于git - 通过文件服务器镜像存储库,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14397794/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com