git svn:Delta源意外结束

时间:2011-01-05 10:37:15

标签: svn git version-control git-svn corruption

我正在使用git svn进行svn repo。我的同事承诺回购一些本地图书馆,之后我不能改变我的行李箱:

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

Incomplete data: Delta source ended unexpectedly at /usr/lib/git-core/git-svn line 5117

我已经尝试将core.autocrlf设置为false(as suggested)并进行克隆,但它对我没有帮助。 我在cygwin(win xp)下使用git 1.7.3.3。

请求任何帮助。

4 个答案:

答案 0 :(得分:4)

我用谷歌搜索“Delta源意外结束”并发现this这意味着它在svn方面存在问题。也许在您的同事做出更改之前尝试对git svn reset进行一些修改,然后git svn rebase

答案 1 :(得分:1)

听起来你的问题在svn方面。在我们的例子中,开发人员为目录中止了svn update命令。如果您无法取下整个目录,您可以执行以下步骤,这些步骤适用于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}

答案 2 :(得分:0)

Here's我是如何解决这个问题的:

步骤1:我确定了导致问​​题的文件。可能是构建中断之前签入的最后一个文件。

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

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

第4步:我更新了我的整个工作副本

答案 3 :(得分:0)

我在运行" git svn fetch"时遇到此错误在OS / X上(我使用svn2git将大型svn repo导入git)。问题是有两个分支只在/branches/BUG-241/branches/bug-241的情况下有所不同,它们与OS / X的不区分大小写的文件系统不能很好地兼容

我通过使用磁盘实用程序(在these instructions之后)创建一个区分大小写的磁盘映像并在那里运行导入来解决这个问题。