2011-03-23

Как добавить/удалить несколько файлов в/из svn

добавляем:
svn status | grep "^?" | awk '{print $2}' | xargs svn add

теперь удаляем из svn те файлы что были удалены из файловой системы:
svn status | grep "^\!" | awk '{print $2}' | xargs svn remove

 

Коментариев: 2

 
  2009-12-13

Как настроить уведомления о коммите в SVN

Cкачиваем на сервер PERL скрипт http://svn.apache.org/repos/asf/subversion/trunk/contrib/hook-scripts/commit-email.pl.in

Сохраняем его где-нибудь на сервере где хранится ваш репозиторий с именем commit-email.pl и выставляем ему права на выполнение. В скрипте нужно заменить %SVN_BINDIR% на реальный путь - у меня это оказалось /usr/local/bin

Переименовываем в папочке hooks вашего репозитория post-commit.tmpl в post-commit, ставим ему права на выполнение.

Внутри post-commit уже есть вызов некоего mailer.py - его надо закоментировать.

Добавляем следующую строку

/usr/bin/perl [адрес к скрипту]/commit-email.pl --from noreply@emailfrom.com -s "SVN commit notification" "$REPOS" "$REV" email@tonotify1.com email@tonotify2.com

Разумеется, нужно выставить свои адреса доставки и путь к commit-email.pl

Если все настроено правильно при очередном коммите на почту свалится уведомление о том кто когда и что изменил в вашем проекте.

 

Коментариев: 2

 
  2009-12-10

Как поставить dav_svn если у вас cpanel

Потребовалось наладить работу в SVN через Apache. Но на беду на сервере стоит cpanel а это значит что поставить mod_dav_svn например, при помощи yum не удасться - он требует наличия модуля httpd - а Апач уже является частью cpanel которая клала на всякие там rpm пакеты...

Выход один - собирать ручками и настраивать Апач вручную. К счастью добрые люди сделали хорошие инструкции на этот случай

http://gnusys.net/kb/index.php/2009/04/installing-svn-on-cpanel-with-mod_dav_svn-support/

http://www.edugeek.net/forums/nix/26101-subversion-whm-cpanel-11-a.html

и уже в финале:

http://svnbook.red-bean.com/en/1.1/ch06s04.html

здесь можно глянуть как собственно репозиторий сделать:

http://kb.mediatemple.net/questions/143/Using+Subversion

 

Оставить комментарий

 
  2009-09-12

Как перенести SVN репозиторий с oDesk

Иногда встает задача переноса SVN репозитория с сервера на котором у вас нет ssh доступа. Возникнуть такая задача может у пользователей oDesk, Google Code, SourceForge и других площадок которые предоставляют SVN но не предоставляют ssh доступ.

Если ssh доступ есть то задача решается просто, например можно воспользоваться вот этими инструкциями. Однако что делать если ssh не доступен?

Решение нашел вот здесь. На помощь приходит утилита svnsync позволяющая синхронизировать два репозитория. Алгоритм получается следующий:

- создаем чистый репозиторий;
- синхронизируем его с удаленным при помощи svnsync;
- делаем дамп нового репозитория;
- заливаем дамп в новый репозиторий который и будет новым основным репозиторием.

Создаем временный репозиторий:

> svnadmin create temp_repo

Здесь и далее temp_repo - имя временного репозитория.

Создаем внутри директории hooks пустой исполняемый файл:

> echo '#!/bin/sh' > temp_repo/hooks/pre-revprop-change
> chmod +x temp_repo/hooks/pre-revprop-change

Теперь синхронизируем наши репозитории:

> svnsync init file://[full_path_to_repository]/temp_repo https://secure.odesk.com/svn/[odesk_s_reporsitory_name]
> svnsync sync file://[full_path_to_repository]/temp_repo

Дело сделано, теперь получаем дамп:

> svnadmin dump [full_path_to_repository]/temp_repo > repo_dump

Теперь в repo_dump мы имеем полный дамп удаленного репозитория который можно залить куда угодно.

Создадим новый репозиторий и зальем туда наш дамп:

> cd /path/to/new-repository-parent-directory
> svnadmin create repository-name
> svnadmin load repository-name < repository.dumpfile

Осталось переключить проект на новый репозиторий:

> svn switch --relocate oldurl newurl

 

Оставить комментарий