diff --git a/readme.md b/readme.md index 3a4b325..0d3cafa 100644 --- a/readme.md +++ b/readme.md @@ -12,23 +12,24 @@ - [Введение](#введение) - [Установка](#установка) - - [Вручную](#вручную) - - [Через пакетный менеджер opm](#через-пакетный-менеджер-opm) + - [Через пакетный менеджер opm](#через-пакетный-менеджер-opm) + - [Вручную](#вручную) - [Требования](#требования) - [Особенности](#особенности) - - [Отличия от `gitsync` версий 2.x](#отличия-от-gitsync-версий-2x) - - [Описание функциональности](#описание-функциональности) + - [Отличия от `gitsync` версий 2.x](#отличия-от-gitsync-версий-2x) + - [Описание функциональности](#описание-функциональности) - [Использование приложения `gitsync`](#использование-приложения-gitsync) - - [Подготовка нового репозитория](#подготовка-нового-репозитория) + - [Подготовка](#подготовка) + - [Подготовка нового репозитория (локального)](#подготовка-нового-репозитория-локального) - [Установка соответствия пользователей](#установка-соответствия-пользователей) - - [Установка начальной версии из хранилища 1С для синхронизации](#установка-начальной-версии-из-хранилища-1с-для-синхронизации) + - [Установка номера начальной версии хранилища 1С для синхронизации](#установка-номера-начальной-версии-хранилища-1с-для-синхронизации) - [Настройка плагинов синхронизации](#настройка-плагинов-синхронизации) - - [Синхронизация](#синхронизация) - - [Справка по использованию команды](#справка-по-использованию-команды) - - [Глобальные переменные окружения](#глобальные-переменные-окружения) - - [Переменные окружения команды](#переменные-окружения-команды) - - [Значения по умолчанию](#значения-по-умолчанию) - - [Примеры использования](#примеры-использования) + - [Синхронизация](#синхронизация) + - [Справка по использованию команды](#справка-по-использованию-команды) + - [Глобальные переменные окружения](#глобальные-переменные-окружения) + - [Переменные окружения команды](#переменные-окружения-команды) + - [Значения по умолчанию](#значения-по-умолчанию) + - [Примеры использования](#примеры-использования) - [Использование библиотеки `gitsync`](#использование-библиотеки-gitsync) - [Доработка и разработка плагинов](#доработка-и-разработка-плагинов) - [Механизм подписок на события](#механизм-подписок-на-события) @@ -41,10 +42,6 @@ ## Введение -> Возможно данный проект примут как следующую версию в gitsync - -Проект является форком проекта gitsync см. [https://github.com/oscript-library/gitsync](https://github.com/oscript-library/gitsync) и результатом глубокого рефакторинга начального проекта - Проект *gitsync* представляет собой: 1. Библиотеку `gitsync` (`src/core`) - которая реализует основные классы для синхронизации хранилища 1С с git @@ -55,21 +52,16 @@ ## Установка - -### Вручную - -1. Скачать файл `gitsync*.ospx` из раздела [releases](https://github.com/khorevaa/gitsync/releases) -2. Воспользоваться командой: - -``` -$ opm install -f <ПутьКФайлу> -``` - ### Через пакетный менеджер opm -1. командой `opm install gitsync` -2. Запустить командой `gitsync` +1. Установить командой `opm install gitsync` + + +### Вручную +> Запасной споcоб, например, когда на сервере нет доступа к Интернет +1. Скачать файл `gitsync*.ospx` из раздела [releases](https://github.com/khorevaa/gitsync/releases) +2. Установить командой: `opm install -f <ПутьКФайлу>` ## Требования @@ -84,13 +76,13 @@ $ opm install -f <ПутьКФайлу> ### Отличия от `gitsync` версий 2.x * Полностью другая строка вызова приложения, а именно используется стандарт POSIX. -* Работа с хранилищем конфигурации реализовано на основании библиотеки [`v8storage`](https://github.com/khorevaa/v8storage) -* Реализована поддержка работы с `http` и `tcp` хранилищами +* Работа с хранилищем конфигурации реализована через библиотеку [`v8storage`](https://github.com/khorevaa/v8storage) +* Реализована поддержка работы с хранилищем по протоколу `http` и `tcp` * Функциональность работы через `tool1CD` - перенесена в предустановленный плагин `tool1CD` -* Вместо двух команд `sync` и `export` оставлена только одна команда `sync`, которая работает как команда `export` в предыдущих версиях, при это функциональность синхронизации с удаленным репозиторием (команды `git pull` и `git push` ) перенесена в отдельный плагин `sync-remote` -* Отказ от поддержки работы с форматом `plain` при выгрузке конфигурации в исходники -* Отказ от поддержки файла `renames.txt` и переименования длинных файлов -* Расширяемость функционала за счет использования механизма подписок на события +* Вместо двух команд `sync` и `export` оставлена только одна команда `sync`, которая работает как команда `export` в предыдущих версиях, при этом функциональность синхронизации с удаленным репозиторием (команды `git pull` и `git push` ) перенесена в отдельный плагин `sync-remote` +* Прекращена поддержка выгрузки конфигурации в исходники в формате `plain` +* Прекращена поддержка использования файла `renames.txt` и переименования длинных файлов +* Расширен функционал за счет использования механизма подписок на события * Пока не поддерживается синхронизация с несколькими хранилищами одновременно. (команда `all`) @@ -103,45 +95,55 @@ $ opm install -f <ПутьКФайлу> ## Использование приложения `gitsync` + +### Подготовка + -### Подготовка нового репозитория +#### Подготовка нового репозитория (локального) + +> Данный шаг можно пропустить, если у Вас уже есть локальный репозиторий git -> Данный шаг можно пропустить, если у Вас уже готова рабочая копия git репозитория +**a. Если у Вас уже есть удаленный репозиторий** (ранее выполнялась синхронизация с сервером git) - используйте команду `clone` -1. Если у Вас уже есть удаленный репозиторий (уже делалась синхронизация с git) и вы проводили синхронизацию тогда следует воспользоваться командой `clone` +Синтаксис команды: `gitsync clone [ОПЦИИ] PATH URL [WORKDIR]` Пример использования: `gitsync clone --storage-user Администратор --storage-pwd Секрет <путь_к_хранилищу_1С> <адрес_удаленного_репозитория> <рабочий_каталог>(необязательный)` -Справка по команде `clone`: `gitsync clone --help` +Команда создаст локальный репозиторий в указанном каталоге путем копирования удаленного. + +Справка по команде: `gitsync clone --help` -Больше примеров можно увидеть, использовав команду `gitsync usage clone` +Больше примеров: `gitsync usage clone` -2. Если у Вас нет удаленного репозитория, тогда стоит воспользоваться командой `init` для выполнения начальной настройки и наполнения данными рабочего каталог +**b. Если у Вас нет удаленного репозитория** - используйте команду `init` + +Синтаксис команды: `gitsync init [ОПЦИИ] PATH [WORKDIR]` Пример использования: * `gitsync init --storage-user Администратор --storage-pwd Секрет C:/Хранилище_1С/ C:/GIT/src` - Данная команда создаст новый репозиторий git в каталоге `C:/GIT/src` из хранилища 1С по пути `C:/Хранилище_1С/` и наполнил его служебными файлами `VERSION` и `AUTHORS` + Команда создаст новый репозиторий (каталог) `.git` в каталоге `C:/GIT/src`, и наполнит его служебными файлами `VERSION` и `AUTHORS`. + На данном этапе хранилище 1С по пути `C:/Хранилище_1С/` используется для наполнения файла `AUTHORS`. Выгрузка хранилища 1С (синхронизация с репозиторием .git ) не выполняется. * `gitsync init --storage-user Администратор --storage-pwd Секрет http:/www.storages.1c.com/repository.1ccr/ИмяХранилища C:/GIT/src` - Тоже самое только для `http` хранилищем по адресу `http:/www.storages.1c.com/repository.1ccr/ИмяХранилища` + Вариант для подключения к хранилищу по протоколу `http` -Справка по команде `init`: `gitsync init --help` +Справка по команде: `gitsync init --help` -Больше примеров можно увидеть, использовав команду `gitsync usage init` +Больше примеров: `gitsync usage init` -### Установка соответствия пользователей +#### Установка соответствия пользователей -> Данный шаг можно пропустить, если у Вас уже установлено соответствие пользователей хранилища 1с и git +> Данный шаг можно пропустить, если у Вас уже установлено соответствие пользователей хранилища 1С и git -Для настройки соответствия между пользователями хранилища 1с и git предназначен Файл `AUTHORS`. +Для настройки соответствия между пользователями хранилища 1С и git-сервера предназначен файл `AUTHORS`. -Данный файл имеет формат `ini` файла. +Файл заполняется в формате `ini`. Пример файла: @@ -151,18 +153,19 @@ $ opm install -f <ПутьКФайлу> ``` слева указано имя пользователя хранилища 1С -справа - представление имени пользователя репозитория Git и его e-mail +справа - представление имени пользователя репозитория git и его e-mail С помощью e-mail выполняется связка пользователя с публичными репозиториями (например, Github или Bitbucket) -### Установка начальной версии из хранилища 1С для синхронизации +#### Установка номера начальной версии хранилища 1С для синхронизации -> Данный шаг можно пропустить, если у Вас уже установлена или заполнения версия в файле `VERSION` +> Данный шаг можно пропустить, если у Вас уже установлен номер версии в файле `VERSION` -Для настройки последней синхронизированной(выгруженной в рабочий каталог) версии хранилища 1С служит файл `VERSION`. +При выгрузке изменений хранилища 1С в каталог проекта (в рабочий каталог), gitsync ориентируется на номер последней выгруженной версии, указанный в файле `VERSION`. +Номер версии в файле надо указать если Вы не хотите выгружать в git все версии хранилища 1С. -Данный файл имеет формат `xml` +Файл заполняется в формате `xml`. Пример файла, в котором указано, что выгружено 10 версий: @@ -171,22 +174,19 @@ $ opm install -f <ПутьКФайлу> 10 ``` -Данный файл можно отредактировать в ручную или воспользовавшись командой `set-version`. - -Пример использования: +Файл можно отредактировать вручную или использовать команду `set-version`. +Пример использования команды: `gitsync set-version <номер_версии> <рабочий_каталог>(необязательный)` -Данная команда установит указанную версию `<номер_версии>` в файл `VERSION`, который лежит в каталоге `<рабочий_каталог>` - -Справка по команде `set-version`: `gitsync set-version --help` +Справка по команде: `gitsync set-version --help` Для удобства использования команда `set-version` имеет короткое название `sv`. -Больше примеров можно увидеть, использовав команду `gitsync usage set-version` +Больше примеров: `gitsync usage set-version` -### Настройка плагинов синхронизации +#### Настройка плагинов синхронизации > Данный пункт можно пропустить, если Вам не требуется дополнительная функциональность синхронизации @@ -209,11 +209,11 @@ $ opm install -f <ПутьКФайлу> * `gitsync plugins list` - будет выведен список всех *активированных* плагинов * `gitsync plugins list -a` - будет выведен список всех *установленных* плагинов -Справка по команде `plugins`: `gitsync plugins --help` +Справка по команде: `gitsync plugins --help` Для удобства использования команда `plugins` имеет короткое название `p`. -Больше примеров можно увидеть, использовав команду `gitsync usage plugins` +Больше примеров: `gitsync usage plugins` > Для хранения установленных плагинов и списка активных плагинов используется каталог `локальных данных приложения` @@ -372,11 +372,8 @@ $ opm install -f <ПутьКФайлу> ## Доработка и разработка плагинов -Как разработать свой или доработать текущие плагины - -1. [Как создать свой плагин](./create-new-plugin.md) -1. Доработка предустановленных плагинов производится в отдельном репозитории [gitsync-plugins](https://github.com/khorevaa/gitsync-plugins) - +* [Как создать свой плагин](./create-new-plugin.md) +* Доработка предустановленных плагинов производится в отдельном репозитории [gitsync-plugins](https://github.com/khorevaa/gitsync-plugins) ## Механизм подписок на события @@ -397,7 +394,7 @@ $ opm install -f <ПутьКФайлу> `opm build .` - > при данной сборки не собираются предустановленные пакеты. Их надо будет устанавливать отдельно + При данной сборке не собираются предустановленные пакеты. Их надо будет устанавливать отдельно 2. Сборка пакета с зависимостями @@ -406,7 +403,7 @@ $ opm install -f <ПутьКФайлу> При данной сборке будут дополнительно собраны из репозиториев: * `opm` - из ветки develop - * `gitsync-pre-plugins` - из вертки develop + * `gitsync-pre-plugins` - из ветки develop ## Доработка @@ -416,4 +413,4 @@ $ opm install -f <ПутьКФайлу> ## Лицензия -Смотри файл [`LICENSE`](./LICENSE). \ No newline at end of file +Смотри файл [`LICENSE`](./LICENSE).