过滤器在git svn clone期间删除?

时间:2015-07-31 15:05:01

标签: git git-svn

问题:旧版svn repo有一个与prod服务器上的用户配置同步的目录。

有效同步:

  • 删除所有文件
  • 提交
  • 复制所有文件
  • 提交

是否有可能在此repo的git svn克隆过滤掉所有文件删除?

随后的git svn也会获取?

我不一定要过滤整个提交只删除文件的部分。

这意味着将后续添加文件更改为修改文件。

1 个答案:

答案 0 :(得分:1)

首先,如果您想要更好地控制您的回购转化,您可能需要考虑使用Reposurgeon而不是git-svn

由于Git的运作方式,这些邪恶行为对SVN的影响不如你想象的那么严重。

首先,Git本身没有“文件历史”的概念。 SVN或其他VCS系统中没有“文件修改”之类的东西。 Git只记得一个文件树。然后是另一个文件树。等

如果您将HEAD与HEAD ^^(其中HEAD ^是介入的“已删除”提交)进行比较,您将获得的结果与您在设置完全保留“已删除”修订版时所获得的结果没有区别。< / p>

此外,存储要求不会太大--Git存储整个对象并在制作包时比较它们的相似性,这与使用增量压缩的SVN不同(因此取决于该文件历史记录)。树A +空树+树B(主要由相同的文件组成)与缺少空树修订版相比,占用的空间非常小。