Git Svn Fetch Дополнительные изменения

Я использую git -svn для нашего репозитория svn. Тем не менее, репо огромно, поэтому я сначала проверил проект следующим образом:

git svn clone svn://svn.server.com/project -s -r 12000:HEAD

Итак, теперь у меня есть только ревизии 12000 для текущей версии. Я хотел бы проверить еще несколько изменений, но следующее ничего не делает:

git svn fetch -r 11000:HEAD

Есть ли способ получить старые версии?

Ответ 1

Я не думаю, что это действительно поддерживается, так как это приведет к переустановке всего репозитория, который обычно считается плохой. (Хотя чистый git более чем счастлив позволить вам стрелять себе в ногу, делая это), я не вижу способа сделать это, даже после того, как возился с данными в .git/svn. Вы можете проверить старые версии ветвей и теги, которые вы не получили, но как только вы получите ветку, вы не сможете вернуться назад и получить еще больше истории.

Я ждал 6 часов для повторного копирования репозитария 50 тыс., чтобы я знал твою боль. Если вы действительно хотите, чтобы много истории, я предлагаю просто позволить ему работать на ночь и захватить все это.

Ответ 2

Я не достаточно эксперт в git и git -svn, чтобы полностью реализовать это, но вы должны иметь возможность git svn clone вашего svn в новом репо, добавить это репо как удаленное и получить его от вашего исходного репо, а затем добавьте точку трансплантата между первым фиксацией в старом репо (r12000) и родителем r12000 в новом репо. Это объединит две части истории. Опять же, возможно, потребуется некоторое исправление, чтобы поддерживать корректную работу git -svn.

Ответ 3

Кажется, этот пост имеет ответ: в принципе, вы не должны начинать с клона, а init и fetch. Не пробовал сам (пока)...