git-svn忽略大型二进制文件

时间:2013-04-09 15:41:23

标签: git svn git-svn

我正在使用大型svn存储库(30,000多个版本)。 我使用git-svn但收效甚微。

我的主要问题是svn存储库包含对大型二进制文件(~30MB)的频繁更新。我不关心这些文件的历史,但我关心这些文件的当前版本。

如果自我上一次svn rebase(这是常见的)以来对大型二进制文件进行了多次更新,那么git svn rebase的运行速度非常慢。我的git数据库也快速增长。我正在寻求解决这两个关键问题。

理想情况下,我想要做的是完全忽略svn中的这些大文件,然后运行一个脚本,该脚本只获取最新版本,然后用我的.gitignore阻止。我对其他选择非常开放。

3 个答案:

答案 0 :(得分:10)

您可以使用--ignore-paths的{​​{1}}选项忽略某些文件:

git svn

答案 1 :(得分:0)

据我所知,我认为不可能使用git-svn这样做,因为git-svn获取整个svn信息并将其转换为git。检查你的包文件,你会发现它是一个巨大的文件。

我要做的是将巨大的文件/文件夹添加到.gitignore中,以便它根本不会处理它们。

这里发布了一个不错的解决方案: http://alblue.bandlem.com/2011/11/git-tip-of-week-git-bigjobbies.html

答案 2 :(得分:0)

  

git svn选项--ignore-paths =

在将svn存储库转换为git

时,

可用于排除不需要的二进制文件

如果您知道二进制文件的文件扩展名,那么您可以编写一个正则表达式来排除它们,例如,

  

.jar文件: - ignore-paths =“。*。jar $”