Ни один из предложенных ответов не будет работать. git svn fetch
с ревизией будет извлекать только более новые ревизии, чем те, которые уже клонированы. Возможно, вы сможете использовать git svn reset
, чтобы вернуться к более старой ревизии и получить оттуда, но потом вам придется сделать некоторую грязную работу, чтобы «привить» ваши новые ревизии обратно на полное дерево (SHA1 SVN). ревизия в git зависит от всего происхождения ревизии). Если вам пригодятся скальпели, которые вам предлагает git
, сделайте это.
Гораздо проще просто избежать этой проблемы.
- Сделайте начальный клон из последних нескольких ревизий, чтобы вы могли немедленно приступить к работе;
- Запустить еще один клон полной истории в другой каталог / git-репозиторий;
- Работайте в своей частичной истории столько, сколько хотите;
- Когда полный клон завершится, используйте подход, подобный http://www.sanityinc.com/articles/relocating-git-svn-repositories/, чтобы скопировать вашу работу из частичного хранилища в полное.
Итак, это частичный ответ - как вы можете потом извлечь историю? Загрузите его в другой репозиторий и скопируйте то, что вам нужно. Это можно сделать кусками по 1000 в обратном порядке? С помощью скальпелей и большого терпения он может , но вряд ли это того стоит. Полная выборка, запущенная вперед, обгонит все эти первые ревизии, захваченные каждым блоком, который вы git svn fetch
, и исправление станет утомительным.