Project

General

Profile

Инструкция для внешних разработчиков

В первую очередь для работы с проектом необходимо зарегистрироваться на сайте проекта.
Процесс регистрации не должен вызвать каких-либо затруднений, поля обязательные к
заполнению отмечены красной звездочкой, пользовательское поле "Публичный ключ
для авторизации" служит для помещения в него публичного ssh ключа. Заполнение
этого поля необходимо для получения доступа к репозиторию с использованием git-клиента
по протоколу ssh. Просмотр репозитория через Web-интерфейс на странице проекта
ключа не требует.
В настоящее время на сайте используется ручная активация новых пользователей,
поэтому после регистрации придётся дождаться активации учетной записи администратором.
Другой вариант: активация по e-mail. В этом случае на адрес, указанный вами при
регистрации придёт ссылка для активации учетной записи.
После активации учетной записи можно будет зайти на сайт проекта. Если администратор
ещё не назначил вам никакой роли в проекте, доступен будет только открытый проект
"Welcome". В этом проекте публикуется документация свободного доступа, а
также инструкции для получения авторизованного доступа к проекту АБС.СПО.

Инструкция по созданию публичного ключа доступна в разделе Доступ к репозиторию.
Полученный любым образом публичный ключ следует поместить в пользовательское поле "Публичный ключ..."
Обратите внимание! Публичный ключ задается одной строкой!

Для получения копии репозитория нужно выполнить команду:

git clone ssh://username@sandbox.csbi.ru/var/www/bankier/release /bankier
cd /bankier 

Здесь: /var/www/bankier/release - расположение репозитория, /bankier -
каталог, куда будет установлена локальная рабочая копия. Каталог должен иметь
доступ на запись для пользователя, выполняющего команду. Если каталога не существует,
он будет создан, если параметр не задан, будет создан каталог, совпадающий
с именем репозитория, в данном примере - release. Для создания копии в текущем каталоге
следует указать точку (.).
Репозиторий release представляет собой дистрибутив АБС.СПО, доступный для установки
скриптом b_inst, либо вручную.
После копирования текущей веткой является "master", в репозитории release это
текущий стабильный релиз АБС.СПО со всеми установленными диспатчами. Просмотр
доступных веток выполняется командой:
git branch -a

Переключение на другую ветку:
git checkout release-23

в каталоге рабочей копии. Список изменений в пределах ветки можно просмотреть командой:
git log --pretty=oneline

Последний параметр приводится для отображения по одной строке на коммит. Каждое из таких
изменений представляет собой диспатч или патч установленный на данную ветку.
Список изменений по каждому диспатчу можно посмотреть командой git show:
git show 1a8a30068a808dd85ffc4d98e070ba5358dcb3b9

В качестве параметра используется хэш коммита. Для простоты можно написать
только первые 6 символов.
Командой git diff можно посмотреть отличия между коммитами или ветвями репозитория:
git diff  release-23..master

отличия текущей веток release-23 и master.
Для отображения git использует программу, заданную переменной PAGER, если
в системе в качестве используется less, возможны проблемы с выводом кириллицы.
В таком случае следует переопределить пейджер:
export PAGER=more

Кроме переключения между ветками репозитория возможно также переключение в любой
из коммитов любой ветки:
git checkout 66cdb

При этом текущим будет состояние на момент выбранного коммита. Такой переход может
понадобиться для проверки работы АБС.СПО на каком-то ранее установленном патче
или диспатче.
Для внесения изменений в дистрибутив необходимо убедиться, что определены параметры
user.email и user.name:
git config --list

И, если этих параметров нет, настроить:
git config --global user.name "John Doe" 
git config --global user.email johndoe@example.com

Так как в официальные ветки репозитория добавлять коммиты нельзя, необходимо создать
собственную ветку:
git checkout --track -b new-branch-name origin/master

В этой новой ветке выполняются все правки, изменения и добавления, после этого ветка
коммитится:
...выполняются изменения.
git add .

Для добавления всех изменений задаётся точка (.), если нужно добавить изменения
только одного файла, выполняется команда:
git add filename

После внесения изменений выполняется коммит:
git commit -m"Ваш комментарий" 

Если запустить git commit без параметров, будет открыт текстовый редактор
(указанный в переменной EDITOR) для внесения комментария.
 git commit -a -m"test2" 

[test 6096f26] test2
1 file changed, 1 insertion(+), 1 deletion(-)
Здесь параметр -a добавлен для автоматического внесения изменений модифицированных
файлов. В строке результата: test - имя ветки, 6096f26 - сокращённый хэш коммита,
test2 - комментарий.
Результат изменений между шапкой основной ветки и нашим коммитом можно увидеть:
git diff master..6096f26

Для отправки коммита рекомендуется выполнить формализацию патча:
git format-patch master..6096f26

0001-test1.patch
0002-test2.patch
На каждый локальный коммит создаётся отдельный патч.
Полученные патчи можно выслать по электронной почте разработчику.
В случае авторизованного доступа к репозиторию с разрешением на запись изменения
можно отправлять непосредственно на сервер:
git push origin new-branch-name