2015-07-02 3 views
1

У меня неволей репо //depot/myprog/..., которая оказывает ветвь, какмигрирует из Perforce мерзавца

  1. // депо/myprog_branches/версия1/myprg/...
  2. // депо/myprog_branches/version2/myprg/...

Теперь я хочу прекратить использовать perforce и хочу перенести весь мой код с веткой и тегом histroy на git.

Как это сделать? Я знаю, что могу использовать команду git p4, но она занимает много времени, и у нас есть только 12 часов сеанса входа в систему, команда не работает, так как она автоматически выходит из системы.

Любая помощь была бы принята с благодарностью.

+0

Вы можете перенастроить это 12-часовой тайм-аут входа в систему по умолчанию. Спросите своего администратора сервера или прочитайте в тайм-ауте в документации Perforce «пределы группы» –

+0

Да, я знаю это уже, и я не могу сделать это более 12 часов. Можете ли вы рассказать мне, как определить параметр 'git-p4.branchList' для указанной выше ветки. – Niraj

+0

Вы можете прочитать о 'git-p4.branchlist' здесь http://git-scm.com/docs/git-p4/1.7.11 – Niraj

ответ

1

Это немного противно, но вы можете просто настроить cron, который регистрирует вас каждый час или около того. Вы, очевидно, должны ввести свой пароль в скрипт cron, поэтому он противный.

Другой способ заключается в клонировании вашего репо с использованием обычных команд Perforce при редактировании, с которого вы хотите начать, и затем обмануть git-p4 в его использование.

есть что-то вроде:

$ p4 client 
<create suitable client spec> 
$ p4 sync //depot/foo 
$ cd foo 
$ git init 
$ git add . 
$ git commit 

Ваш мерзавец фиксации должен быть в правильном формате, то есть сообщение, а затем:

[git-p4: depot-paths = "//depot/foo": change = 1234] 

Затем сделать:

$ mkdir .git/refs/remotes/p4 
$ git rev-parse HEAD >.git/refs/remotes/p4/master 

Теперь git-p4 будет использовать ваше репо:

$ git p4 sync 
Смежные вопросы