2011-01-05 2 views
6

Я использую git svn для svn repo. Мой коллега совершил репо некоторые собственные библиотеки и я не могу перебазироваться мой ствол после этого:git svn: источник Delta неожиданно закончился

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 ложь (as suggested) и сделать клон, но это не помогло мне. Я использую git 1.7.3.3 под cygwin (win xp).

Thx для любой помощи.

+0

Googled "Delta source закончился неожиданно" и нашел [это] (http://svn.haxx.se/dev/archive-2004-09/0006.shtml), что подразумевает, что это проблема на стороне svn. Возможно, попробуйте выполнить «git svn reset» до нескольких изменений до изменений, сделанных вашим коллегой, а затем «git svn rebase». – MatrixFrog

+0

@MatrixFrog Ваш комментарий должен быть опубликован как ответ ... – Donut

ответ

4

I googled "Delta source закончился неожиданно" и нашел this, что подразумевает, что это проблема на стороне svn. Возможно, попробуйте сделать git svn reset несколько изменений до изменений, сделанных вашим коллегой, а затем git svn rebase.

+0

Это сработало для меня, спасибо! – Christian

+0

Эта работа для меня тоже, спасибо! – Nordin

+0

Работал для меня тоже, с 'git reset --hard ' после 'git svn reset -r ' (где git-commit <==> svn-rev) –

0

Here's как я решил эту проблему:

Шаг 1: Я идентифицировал файл, который был причиной проблемы. Может быть, последний файл зарегистрирован перед разрывом сборки.

Шаг 2: Я удостоверился, что все измененные файлы в каталоге файла проблемы были зафиксированы в репозитории.

Шаг 3: Я удалил каталог файла проблемы из моей рабочей копии (а не в репозиторий!). Если трудно найти вызывающий файл, просто удалите весь каталог после проверки всех изменений.

Шаг 4: Я обновил мою всю рабочую копию

1

Это звучит как ваш вопрос находится на стороне СВН. В нашем случае разработчик прервал команду обновления 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

Я получил эту ошибку при запуске «принести мерзавец СВН» на OS/X (я использовал svn2git импортировать большое Svn репо в мерзавец). Проблема заключалась в том, что были две ветви, которые отличались только в случае, /branches/BUG-241 и /branches/bug-241, что не очень хорошо отразилось на файловой системе, не учитывающей регистр.

Я работал над этим, создав образ диска с дисковой утилитой (после these instructions) и выполнив импорт там.

Смежные вопросы