branch=$(git rev-parse --symbolic --abbrev-ref $1)
if [ $(git rev-parse --is-bare-repository) = true ]
then
rep=$(basename "$PWD"|sed 's/.git//')
else
rep=$(basename $(readlink -nf "$PWD"/..|sed 's/.git//'))
fi
/home/scripts/git/post-update.sh $rep $branch
#!/bin/sh
DATADIR=/var/www/$1/$2
REPO=$1
BRANCH=$2
if [ ! -d $DATADIR ]
then
mkdir -p $DATADIR
git clone gituser@example.com:$REPO $DATADIR
cd $DATADIR
git checkout $BRANCH
else
cd $DATADIR
/usr/bin/git config user.email "deploy@local"
/usr/bin/git config user.name "Deploy Robot"
/usr/bin/git fetch origin
/usr/bin/git reset --hard origin/$BRANCH
/usr/bin/git stash
/usr/bin/git checkout
/usr/bin/git pull
fi
Что-то подсказывает мне, что для того, чтобы оставаться в правовом поле, компания-посредник должна стать для фрилансеров налоговым агентом, вести персонифицированный учет, платить отчисления в пенсионный фонд и т.д. - что несколько выходит за рамки "небольшой комиссии". Если кто-то делает это за действительно небольшую комиссию, он c вероятностью 99% нарушает действующее законодательство.
Если посещаемость сайта не несколько миллионов человек в сутки, беспокойство лишнее. Знаю это не по теории, а из практики, у меня так работают сайты примерно c 2000 года, проблем c быстродействием поиска не наблюдается. Если же посетителей становится много, наверняка захочется сделать кеширование в redis например. Лучше подумать, что произойдет, когда захочется сделать иерархию (/uri, /uri/suburi и т.д.). Тут тоже проблемы особо нет, но задача точно поинтереснее.
По шагам.
1. Делаете чистый репозиторий
2. Делаете ветки для старых годов (git checkout -b 2011)
3. Сохраняете там прежние годы (git add -A && git commit)
4. Возвращаетесь в ветку master (она остается пустой)
5. Делаете следующую ветку (git checkout -b 2012)
6. Повторяем пункт 3
Алсо, во избежание, можно сразу сделать веточку empty, чтобы случайный мердж в master не заставил вас потом делать откаты.
То есть для нового года делаете новую чистую ветку, при этом можно безнаказанно работать в предыдущих годах.
Хороший принцип - принцип отделения кода от данных и всего этого вместе - от представления. Если хочется чего-то серьезного (а раз вы задаетесь вопросом быстродействия include, то на это похоже), отделите представление (html) от кода (php). Соединяться они имеют право только в скомпилированных шаблонах. Отвечая на вопрос - include очень быстр. Если вдруг, по какой-то неведомой мне причине, вам не хватит быстродействия, надо копать в сторону APC. Ну или бросить шаред хостинг и арендовать VPS.