Использование bazaar в реальной жизни на Win32
Автор: L.A.
Установка bazaar
Необходимо установить следующие компоненты:
- bzr
- pyWin32
- cElementTree (хз)
- elementtree (хз)
- paramiko
- pyCrypto
- pyCurl
Если вы захотите впоследствии использовать плагины gdiff и gannotate, необходимо будет установить:
Установка плагинов
Нет необходимости устанавливать плагины, достаточно их просто скопировать в одну папку, например, C:\Program Files\bzrplugins.
Переменные среды
Надо установить следующие переменные среды:
- BZRENCODING кодировка исходных файлов (обычно cp1251)
- BZREMAIL в значение вида "Vasily Sulatskov <redvasily@mail.ru>". Это необходимо для указания автора при записи патча в репозиторий (данная переменная должна быть установлена только для пользователя, а не глобально).
- BZR_PLUGIN_PATH путь к плагинам (например, C:\Soft\bzrplugins)
"Пляски с бубном"
Теперь нужно проверить, все ли правильно работает. В консоли Windows выполнить команду:
bzr
Если bazaar не стартовал, необходимо проверить путь, указанный в файле bzr.bat в папке Scripts (обычно, C:\Python24\Script). Необходимо указать правильный путь к файлу bzr, который находится в той же папке (в нашем случае, C:\Python24\Scripts\bzr). Кроме того, в переменую среды Path при этом необходимо добавить путь к файлу bzr.bat (в нашем случае, C:\Python24\Scripts).
Настройка SSH (опционально)
Рекомендуется настроить "passwordless login". Для этого необходимо установить клиент SSH сборки OpenSSH (setupssh.exe). Кроме того, для этого необходимо наличие отдельного пользователя Windows (для правильной работы с ключами SSH).
Ахтунг!
Имя пользователя должно быть записано латинскими буквами и не содержать пробелов.
Рекомендуется добавить сервер bisrc (81.89.80.58) в файл hosts (C:\WINDOWS\system32\drivers\etc\hosts). Для этого в указанный файл необходимо добавить строку:
81.89.80.58 bisrc
У вас должен быть пользователь на сервере bisrc (81.89.80.58). Пользователя может создать тот, кто уже имеет пользователя на данном сервере.
Если у вас уже есть пользователь на bisrc, попробуйте попытаться установить соединение с сервером:
ssh -l user -p 10022 bisrc
после чего необходимо подтвердить подключение и ввести ваш пароль. Для завершения соединения используется команда:
[user@bisrc ~]$ exit
Далее необходимо сгенерировать ключ. Для этого необходимо запустить в установочной директории OpenSSH, в папке bin файл ssh-keygen со следующими опциями:
ssh-keygen -t dsa
Файл ключа и passphrase можно не указывать (оставлять пустыми).
Переходим в папку со сгенерированными ключами C:\Documents and Settings\user\.ssh и "заливаем" публичный ключ на сервер:
scp -P 10022 id_dsa.pub user@bisrc:id_dsa.pub
Затем устанавливаем соединение с сервером:
ssh -l user -p 10022 bisrc
Командой ls проверяем наличие файла ключа id_dsa.pub:
[user@bisrc ~]$ ls -a
Копируем этот файл в папку .ssh:
[user@bisrc ~]$ cp id_dsa.pub .ssh
Переходим в папку .ssh:
[user@bisrc ~]$ cd .ssh
и дописываем ключ в конец файла authorized_keys:
[user@bisrc ~/.ssh]$ cat id_dsa.pub >> authorized_keys
Начало работы с bazaar
Не забывайте сменить кодовую страницу в консоли:
chcp 1251
Основные команды bazaar:
- bzr init инициализация репозитория
- bzr status проверка состояния репозитория
- bzr add file добавление файла (папки) file в репозиторий
- bzr diff показывает сделанные изменения
- bzr commit запись изменений (создание ревизии)
- bzr log список всех ревизий
Для того, чтобы увидеть только n последних ревизий, используйте команду:
bzr log -r -n..
Для, того, чтобы "вытянуть" изменения из удаленного репозитория (central) в текущий, используется команда:
bzr pull sftp://user@bisrc:10022/projects/project/central
Чтобы запомнить расположение удаленного репозитория, рекомендуется использовать опцию --remember:
bzr pull sftp://user@bisrc:10022/projects/project/central --remember
Теперь можно написать просто:
bzr pull
Для отправки изменений в удаленный репозиторий используется команда:
bzr push sftp://user@bisrc:10022/projects/project/central --remember
Или, после использования опции --remember:
bzr push
Самая полезная команда:
bzr help
Процедура работы с kdiff3
Для на чала необходимо установить kdiff3. В переменную среды Path нужно добавить путь к файлу kdiff3.exe. Теперь для вызова kdiff3 из репозитория необходимо выполнить команду:
bzr diff --using kdiff3.exe
Рекомендуется также упростить использование kdiff3. В папке C:\Documents and Settings\user\Application Data\bazaar\2.0 создаем файл bazaar.conf. В этом файле прописываем следующее:
[ALIASES]
kdiff = diff --using kdiff3.exe
|