Как клонировать git-p4 из середины репозитория perforce?

Я хотел бы клонировать вторую половину моего репо. Корректно работает с помощью команды:

git-p4 clone --detect-branches //depot@all

Итак, я хочу запустить что-то вроде ниже, но он не импортирует файлы таким же образом и в конечном итоге терпит неудачу:

git-p4 clone --detect-branches //depot@2000,3000

Как я могу заставить второй метод работать правильно?

Обновление: вывод, который я получаю прямо сейчас, заключается в том, что p4 застревает в бесконечном цикле:

current change 32688
trying: earliest  latest 6135ce72f69ce262a6237c98da9ffee652be8b03
Reading pipe: git rev-list --bisect 6135ce72f69ce262a6237c98da9ffee652be8b03
Reading pipe: git cat-file commit 6135ce72f69ce262a6237c98da9ffee652be8b03

person cmcginty    schedule 14.08.2012    source источник
comment
Работает ли второй метод без --detect-branchs?   -  person Timo Geusch    schedule 15.08.2012
comment
Что такое сообщение об ошибке и в чем разница в способе импорта файлов?   -  person gareth_bowles    schedule 15.08.2012
comment
Просто чтобы перепроверить, я думаю, у вас должен быть @ как в начале, так и в конце диапазона: git-p4 clone --detect-branches //depot@2000,@3000. Это опечатка в вопросе, в команде, которую вы пытались сделать, или я просто ошибаюсь?   -  person Caleb Huitt - cjhuitt    schedule 15.08.2012
comment
@TimoGeusch, я считаю, что он работает без --detect-branches, но меня не интересует этот режим, так как в конечном итоге я хочу выбрать количество ветвей в своей истории.   -  person cmcginty    schedule 15.08.2012
comment
@Casey, причина, по которой я спрашивал, в том, что у меня уже были проблемы с --detect-branches. Сопоставление ветвей между git и Perforce с использованием git-p4, по моему опыту, немного хрупкое. Возможно, потребуется запустить клонирование до того, как ветки появятся, а не тогда, когда ветки уже существуют.   -  person Timo Geusch    schedule 15.08.2012
comment
@CalebHuitt-cjhuitt Думаю, вы правы, я не знал, что для этого требуется второй знак @   -  person cmcginty    schedule 16.08.2012


Ответы (1)


Хорошо, моя главная проблема заключалась в том, что я неправильно переставил начальный номер версии.

Моя спецификация клиента:

 View:
    //depot/main... //HOST/main...
    //depot/dev... //HOST/dev/...         
    //depot/patch... //HOST/patch...

и команда:

git p4 clone --verbose --use-client-spec --detect-branches //depot@32668,#head repo

Теперь единственная проблема, с которой я столкнулся, это то, что ветки в репо имеют префикс имени ветки к непосредственному дереву:

main/file1.txt
dev/file1.txt
patch/file1.txt

Теперь это работает. Я обновил свою версию скрипта git-p4 (v1.7.12-rc3-4-g91e4bfe), чтобы исправить это. Я попытаюсь вставить в основную ветку, если смогу, для всех еще пытается сделать то же самое

person cmcginty    schedule 15.08.2012