svn diff导致"补丁只有垃圾"当使用git apply时

时间:2018-06-05 17:34:22

标签: git svn patch

我试图从svn中获取一系列差异并将它们应用到git存储库(如果需要,我可以解决合并冲突)。 git存储库已经创建,所以我相信我无法git-svn,但如果可能,那就没问题。相反,我已尝试使用git-applysvn diff --git

使其有效
SVNPATH=[path to dir on svn server];
GITPATH=[on disk repo path];
CURDIR=`pwd`;

mkdir -p changes;

for i in $(cat ./svnrevs.txt); do
    svn diff --git -r $i:$(( $i - 1 )) $SVNPATH > "./changes/$i".diff

    dos2unix "./changes/$i".diff;
    cd $GITPATH;
    git apply "$CURDIR/changes/$i".diff
    cd $CURDIR;
done;

我收到了错误

git apply: bad git-diff - expected /dev/null on line 5

我通过替换解决了这个问题:

--- /dev/null   (nonexistent)

--- /dev/null

但是,我仍然收到错误:

error: patch with only garbage at line 1808. 

第1808行是一条不起眼的路线:

+import com.foo.bar.Baz;

使用svn版本1.9.4,git版本2.14.3

如何弄清楚我的补丁有什么问题?

0 个答案:

没有答案