Сегодня я расскажу как можно отказаться от медленного Apache для настройки связки trac + SVN/Subversion. Итак, начнём.
1. Устанавливаем и настраиваем SVN/Subversion
Ставим SVN/Subversion на наш сервер
sudo apt-get install subversion
Создаём репозиторий (для примера — в папке /var/svn/my-repository
)
sudo svnadmin create /var/svn/my-repository
Устанавливаем владельца www-data
для папки с репозиторием
sudo chown -R www-data:www-data /var/svn/my-repository
Теперь нам необходимо выполнить импорт файлов в репозиторий.
Для этого создадим где-то на локальной машинке (впрочем, можно и прямо на удалённом сервере) папку с некоторым именем (для примера: my-files
)
mkdir my-files
И выполняем первый импорт на наш настроенный SVN-сервер:
svn import -m 'initial commit' my-files svn+ssh://my-username@my-cool-webserver/var/svn/my-repository
Где
my-files
– папка с файлами которые необходимо проимпортировать в репозиторий,
my-username
– имя пользователя на сервере,
my-cool-webserver
– адрес сервера,
/var/svn/my-repository
– путь в файловой системе сервера к репозитории
Теперь мы можем выполнять коммиты в этот репозиторий, только вначале необходимо будет сделать checkout
репозитория в папку для дальнейшей работы.
Делается это так:
svn checkout svn+ssh://my-username@my-cool-webserver/var/svn/my-repository
Данный способ настройки SVN/Subversion называется SVN over SSH
.
Читати далі…
Я создал небольшую шпаргалку соответствий команд систем управления версиями SVN/Subversion и Git. Пользуйтесь! 😉
svnadmin create repo
git init
git add .
svn import file://repo
git commit
svn diff -rrev path
git diff rev path
svn revert path
git checkout path
svn add file
git add file
svn commit
git commit -a
git push remote
svn blame file
git blame file
svn cat url
git show rev:path/to/file
svn list url
git show rev:path/to/directory
svn log -rrev url
svn diff -crev url
git show rev
svn copy https://example.com/svn/trunk
https://example.com/svn/tags/name
git tag -a name
svn list https://example.com/svn/tags/
git tag -l
svn log –limit 1 https://example.com/svn/tags/tag
git show tag
svn copy https://example.com/svn/trunk https://example.com/svn/branches/branch
git branch branch
svn switch https://example.com/svn/branches/branch
git checkout branch
svn list https://example.com/svn/branches/
git branch
svn update -r rev
git checkout rev
svn update
git checkout prevbranch
svn merge -r rev:HEAD https://example.com/svn/branches/branch
git merge branch
svn merge -c rev url
git cherry-pick rev
svn checkout url
git clone url
svn switch url
git checkout –track
-b branch origin/branch
Официальный линк на Google.Code тут.
Ставится это чудо просто:
sudo apt-get install gource
Переходите в корневую папку проекта и выполняете (пример для SVN):
svn log -r 1:HEAD --xml --verbose --quiet > my-project.xml
А потом запускаете gource.
Покажу на примере своих настроек:
gource -1440x800 --seconds-per-day 0.25 --auto-skip-seconds 1 --font-size 18 --title "My-project.NET" --colour-images --hide dirnames,files,filenames,mouse,progress my-project.xml
И смотрите видео.
Также это можно сохранить как mp4.
Для этого добавляем к команде выше -o my-project.ppm
и после чего выполняем следующее.
Добавляем поддержку Medibuntu (т.к. нам нужен ffmpeg c поддержкой libx264)
sudo wget https://www.medibuntu.org/sources.list.d/$(lsb_release -cs).list --output-document=/etc/apt/sources.list.d/medibuntu.list && sudo apt-get -q update && sudo apt-get --yes -q --allow-unauthenticated install medibuntu-keyring
sudo apt-get install ffmpeg libavcodec-extra-53
Собственно, конверт:
ffmpeg -y -r 60 -f image2pipe -vcodec ppm -i my-project.ppm -vcodec libx264 -preset ultrafast -crf 1 -threads 0 -bf 0 my-project.mp4
Если ещё нет ffmpeg, то устанавливаем
sudo apt-get install ffmpeg