"git svn fetch" завершается неудачно, ls-tree умирает из-за отсутствия объекта дерева - PullRequest
5 голосов
/ 06 декабря 2010

«git svn fetch» ​​не завершается и выдает следующие сообщения об ошибках:

(dev) martinom :: /var/my/git ‹master*› » git svn fetch
Found possible branch point: http://.../branches/dexter/lib => http://.../tags/dexter-17, 25032
Initializing parent: refs/remotes/tags/dexter-17@25032 branch_from: /.../trunk => /.../trunk/lib
Found possible branch point: http://.../trunk/lib => http://.../branches/dexter/lib, 24233
Initializing parent: refs/remotes/tags/dexter-17@24233
fatal: Not a valid object name 
ls-tree -z  ./: command returned error: 128

Похоже, что ls-tree не хватает имени объекта до пути туда. Я не знаю, в каком контексте это называется и почему его там нет.

Немного фона может помочь понять, что не так:

  1. Я должен был создать тег из всего хранилища в тегах /, однако мне удалось скопировать в теги только ветви /.../ lib, создав сломанный тег (svn cp ...).
  2. Затем я удалил сломанный тег (dexter-17) с помощью svn rm.
  3. Я создал новый правильный тег с еще одним вызовом cp.

Затем нормальное развитие было продолжено, и все казалось хорошо. Ну, до тех пор, пока я не попытался обновить свой репозиторий git-svn.

Я думаю, что может быть несколько способов обойти эту проблему. Во-первых, вы можете видеть, что история становится довольно большой, мы прошли 25 тыс. Ревизий, поэтому клонирование с git из обр. После сломанных ревизий наименее желательно.

Каким-то образом пропустить ревизии создания тегов в git-svn - это другое, если это возможно. Мне не нужна история для сломанного тега в истории.

Наконец, возможно удаление / исправление ошибок в хранилище subversion / db, чтобы сделать его совместимым с git-svn. Если это означает полное удаление ревизии или ее изменение или что-то в этом роде.

Было бы замечательно также узнать, что на самом деле приводит к тому, что git-svn так запинается. Из .git / svn / refs / remotes / tags я вижу dexter-17, dexter-17 @ 2423 и dexter-17 @ 25032 в качестве удаленных ссылок ... Это не кажется мне вменяемым ...

1 Ответ

0 голосов
/ 02 августа 2011

Я успешно запустил "git svn rebase", чтобы обновить мой репозиторий git последними обновлениями SVN.Вы пробовали перебазировать?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...