Роман Теличко

Заметки веб-разработчика/админа

Тег svn

Настройка связки nginx + SVN/Subversion + trac (без Apache)

// Сентябрь 30, 2013 | 4834 просмотров | 2 комментария

Сегодня я расскажу как можно отказаться от медленного 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 и Git

// Март 14, 2013 | 393 просмотров | комментариев (0)

Я создал небольшую шпаргалку соответствий команд систем управления версиями SVN/Subversion и Git. Пользуйтесь! 😉

svnadmin create repo
 
git init
git add .

svn import file://repo
git commit

svn diff | less
git diff

svn diff -rrev path
git diff rev path

patch -p0
git apply

svn status
git status

svn revert path
git checkout path

svn add file
git add file

svn rm file
git rm file

svn mv file
git mv file

svn commit
 
git commit -a
git push remote

svn log | less
git log

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

svn update
git pull

Gource. Визуальное отображение коммитов в Git/Mercurial/Bazaar/SVN репозитории

// Март 1, 2012 | 1097 просмотров | комментариев (0)

Официальный линк на 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