2014-01-29 4 views
5

Я перехожу из Perforce в git, и в процессе я пытаюсь получить структуру файла правильно.git p4 clone не имеет файлов

Текущая структура неволей что-то вроде этого:

//depot 
    /android 
     /main 
     /other_branches 
     /core_library 
      /main 
      /other_branches 

и я снимаю что-то вроде этого в мерзавца:

/android 
/core_library 

я создал мой клиент спецификации View следующим образом (I Будем беспокоиться о ветвях позже):

//depot/android/main/... //p4-git/android/... 
//depot/android/core_library/main/... //p4-git/core_library/... 

Вэнь Цзябао Я запустил следующую, полную историю фиксации появляется, но файлов нет.

set P4CLIENT=p4-git 
git p4 clone --use-client-spec //p4-git/@all 
+0

Возможно, было бы полезно, если бы вы включили в свой вопрос спецификацию своего клиента. –

+0

@DouglasLeeder добавлено – keyboardr

+0

Также, если я 'git p4 clone // depot/android/main @ all', все будет выглядеть так, как ожидалось, просто не с файловой структурой, которую я хочу. – keyboardr

ответ

1

Проблема заключается в этой строке:

git p4 clone --use-client-spec //p4-git/@all 

Здесь вы передаете путь клиента (//p4-git), но мерзавец-p4 ожидает путь депо. Это вызывает проблемы позже, когда он пытается сопоставить пути дефолта Perforce с путями Git. Попробуйте работать

git p4 clone --use-client-spec //depot/android/main/@all 

вместо этого.

Имейте в виду, что если вы укажете --use-client-spec, git-p4 автоматически будет использовать вашу спецификацию клиента, в зависимости от того, что есть. Он также будет помнить этот выбор и использовать его для будущих команд git-p4. Это, вероятно, хорошая идея:

  • создать специальный клиент для ГИТ-p4 работы
  • убедитесь P4CLIENT установлен для данного клиента всякий раз, когда вы используете ГИТ-p4
  • избежать изменения внешнего вида вашего git- p4 client
Смежные вопросы