2015-02-19 3 views
3

Возможно ли использовать git clone существующий репозиторий git p4, так что можно будет использовать git p4 для нового хранилища?Можно ли клонировать git-p4 repo?

Здесь у нас есть настольный ПК с полным хранилищем, клонированным из perforce (git p4 clone <somepath>@all), который хочет клонировать его на ноутбук, не касаясь сервера p4 (ссылка на него очень медленная и лаги), чтобы иметь возможность вносить изменения в неволей. В идеале было бы здорово использовать git clone --depth и разреженный клон для уменьшения использования дискового пространства для ноутбуков.

ответ

3

git p4 работает путем синхронизации с проверкой Perforce (это оболочка вокруг некоторых команд p4), поэтому вам также необходимо иметь доступ к проверке Perforce.

Вы можете клонировать Git repo на свой ноутбук, выполнять свою работу, вносить изменения в это Git repo и запускать git p4 оттуда, когда вы будете готовы представить свои изменения.

+0

Спасибо. Это печально ... Есть ли другие варианты использования существующего репо в качестве кеша? Например, что-то связано с переменной конфигурации syncFromOrigin. – Equidamoid

3

В оригинальном репозитории вы должны иметь структуру каталогов под .git/refs, который похож на следующее:

.git/refs/ 
.git/refs/heads 
.git/refs/tags 
.git/refs/remotes 
.git/refs/remotes/p4 

Для извлечения информации p4 следующая строка должна быть добавлена ​​к [remote "origin"] записи в клонированных хранилищах :

fetch = +refs/remotes/p4/*:refs/remotes/p4/* 

Это также может быть достигнуто с помощью следующей команды внутри клонированного репозитория:

git config --add remote.origin.fetch '+refs/remotes/p4/*:refs/remotes/p4/*' 

Примечание: записи fetch соответствуют структуре каталогов выше, поэтому вам нужно подтвердить, совпадает ли ваш. Посмотрите, пожалуйста, дополнительную информацию о refspecs.

На данный момент это только вопрос запуска git fetch, и с этого момента все команды git p4 должны работать как обычно.

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