Gaperton (gaperton) wrote,
Gaperton
gaperton

Category:

Bazaar как SVN-клиент

Предположим, вы хотите делать, например, периодическую выгрузку хранимых процедур и прочих объектов из сервера базы данных, и отслеживать изменения в SVN.

Так вот, самый простой и удобный способ это сделать - это воспользоваться Bazaar. :) Почему?

- Bazaar, в отличии от SVN, умеет определять переименования и перемещения файлов автоматически.
- Bazaar, в отличии от SVN, хранит свою информацию в одной папке в корне. А не в каждой подпапке. Что позволяет просто грохнуть все выгруженное дерево, и пересоздать его заново.
- Bazaar умеет работать с SVN-репозиториями как со своими собственными, и может быть использован как SVN-клиент.


1) Готовим папку для проекта в SVN-репозитории. Пусть это будет, скажем, https://sources/svn/server/trunk

2) Делаем ее чекаут:
bzr checkout https://sources/svn/server/trunk Server
cd Server

3) Пусть внутри Server перегенерируется дерево файлов с выгруженными объектами БД. Изменяются, добавляются, удаляются, переименовываются - неважно. Для коммита в SVN нам достаточно дать три команды:

Определим переименования:
bzr mv --auto

Учтем добавленные:
bzr add .

А удаленные удалятся сами:
bzr commit -F commit-message.txt < credentials

В файл credentials кладем пару логин-пароль, на разных строках. Не забываем дать enter в конце второй строки. И не забываем исключить этот файл из коммита:

bzr ignore credentials

Вообще - то, что для SVN-репозитория не запоминаются credentials - это косяк.

Далее, аккуратно раздаем на все права, заводим пользователя, под которым будет работать скрипт - и бинго. Все работает. Единственное - надо не забыть представить новозаведенного пользователя Базару. Сделать из под него следующее:



И все. Просто, и симпатично. Может, кому пригодится.

PS: Впрочем, для данной задачи совсем не обязательно хранить результат в SVN :). Bazaar-у практически без разницы - SVN-репозиторий по ссылке, или его родной, Bazaar-овский. Он формат SVN-репозиториев поддерживает родным образом -как свой собственный.

PPS: Для тех, кто переживает, что Базаар-хостингов в сети мало - или что Bazaar не является корпоративным стандартом - не переживайте. Любой SVN-хостинг или сервер - ваш.
Tags: bazaar, dbms, svn, базы данных
Subscribe

  • Post a new comment

    Error

    Anonymous comments are disabled in this journal

    default userpic

    Your reply will be screened

    Your IP address will be recorded 

  • 57 comments