git svn:增量源意外结束

6

我正在使用 git svn 来处理svn仓库。我的同事向仓库提交了一些本地库,之后我无法对我的主干进行变基操作:

    D       native/libVal.so.v8.0.38za
    A       native/libHelpVAL.so
    A       native/libValuation.so.v9.0.36l

数据不完整:Delta源在/usr/lib/git-core/git-svn的5117行意外结束

我已经尝试将core.autocrlf设置为false(建议这样做)并进行克隆,但对我没有帮助。我正在使用cygwin(win xp)下的git 1.7.3.3。

感谢任何帮助。


在谷歌上搜索“Delta source ended unexpectedly”,发现了这个链接,暗示这是svn方面的问题。或许可以尝试执行git svn reset回到你的同事所做更改之前的几个版本,然后再执行git svn rebase - Tyler
@MatrixFrog 你的评论应该发布为答案... - Donut
4个回答

4

我谷歌搜索了“Delta source ended unexpectedly”并找到这个,暗示这是svn方面的问题。也许尝试在同事进行更改之前的几个版本中执行git svn reset,然后再执行git svn rebase


我也试过了,使用 git reset --hard <git-commit> 命令在执行 git svn reset -r <svn-rev> 命令之后(其中 git-commit <==> svn-rev)。 - Anton N. Petrov

1

看起来你的问题可能出在svn方面。在我们的情况下,开发人员中止了一个目录的svn更新命令。如果你不能关闭整个目录,你可以尝试执行以下步骤,在svn 1.6.11中对我有效:

$ cd {directory_with_file}
$ cd .svn
$ vi all-wcprops

搜索有问题的文件名,你应该会看到类似于:

END
{FILENAME}
K 25
svn:wc:ra_dav:version-url
V 123
/{URL}/!svn/ver/19811/{PROJECT}/trunk/{PATH_TO_FILE}
END

删除所有在“END”和一个“END”行之间的行。保存只读文件。
$ vi entries

搜索有问题的文件名,你应该会看到类似于:

^L
{FILENAME}
file
{whitespace}
2012-09-14T07:37:36.000000Z
b32c5eec03f4be5c09fa7d9c71bac5ce
2012-09-13T07:13:43.808544Z
20167
{COMMITTER}
{whitespace}
11157
^L

删除所有位于'^L'之间的行,包括一个'^L'行。保存只读文件。

$ cd text-base
$ rm {FILENAME}
$ cd ../../
$ rm {FILENAME} ; svn update {FILENAME}

1
新版本的 SVN 没有 all-wcprops 文件。 - clevertension

0

这里是我解决问题的方法:

步骤1:我确定了导致问题的文件。可能是编译中断前最后一次检查过的文件。

步骤2:我确保问题文件所在目录中所有更改过的文件都已提交到代码库中。

步骤3:我从我的工作副本中删除了问题文件的目录(而不是代码库!)。如果很难找到导致问题的文件,只需在检查所有修改后删除整个目录。

步骤4:我更新了整个工作副本。


0

在我的 OS/X 上运行 "git svn fetch" 时,我遇到了这个错误(我正在使用 svn2git 将一个大型 svn 存储库导入 git)。问题是有两个分支只有大小写不同,/branches/BUG-241/branches/bug-241,这与 OS/X 的不区分大小写的文件系统不兼容。

我通过使用磁盘实用程序创建一个区分大小写的磁盘映像(按照 这些说明),并在其中运行导入来解决此问题。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接