В настоящее время я смотрю на phpfog как на платформу для множества приложений, поддерживаемых небольшой командой.Мне нравится git, и мне действительно нравится тот факт, что они позволяют вам перейти на платформу phpfog через git.
Все приложения, которые я смотрю на хостинге, в настоящее время контролируются версиями в SVN.К сожалению, это не может измениться, по многим скучным причинам, которые я не могу контролировать.
Я пытаюсь найти хороший рабочий процесс, чтобы позволить непрерывную интеграцию между этим SVN-репозиторием и платформой phpfog.По сути, сервер сборки должен проверить, есть ли какие-либо изменения в SVN, если это так, затем сбросить их, а затем выполнить git push
изменения в phpfog с изменениями.У меня есть buildserver, на котором установлены и git, и svn, но я сталкиваюсь с некоторыми проблемами.
Главное, что я до сих пор пробовал, это сделать git svn clone
в репозитории svn, добавить phpfogв качестве пульта, а затем подталкивая к этому.Однако это не сработает так:
$ git push phpfog master
To git@git01.phpfog.com:example.phpfogapp.com
! [rejected] master -> master (non-fast-forward)
error: failed to push some refs to 'git@git01.phpfog.com:example.phpfogapp.com'
To prevent you from losing history, non-fast-forward updates were rejected
Merge the remote changes (e.g. 'git pull') before pushing again. See the
'Note about fast-forwards' section of 'git push --help' for details.
Я думаю, проблема в том, что у phpfog есть репозиторий git, который я должен сначала клонировать, и все же git svn
создает свой собственный репозиторий.
Я попробовал это наоборот, клонировал пустой репо из phpfog и попытался затем сделать что-то вроде git svn clone
в репо, но это тоже не сработало.
Что такоелучший способ сделать это?