-
Notifications
You must be signed in to change notification settings - Fork 93
Feature/ref #37
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Merged
Merged
Feature/ref #37
Changes from all commits
Commits
Show all changes
29 commits
Select commit
Hold shift + click to select a range
8edcfe8
Добавлены файлы редактируемой версии gitsync
bia-tech d86c256
Исправлена ошибка неудаления временных файлов
bia-tech 6e250bc
Обновлены служебные файлы.
bia-tech 87853fe
Исправлены ошибки неочистки темповых файлов
bia-tech ee55c71
Добавлена команда clone
bia-tech fb9e14d
Обновления команд clone и init
bia-tech 90d49f5
ДОбавлена реализация команды set-version
bia-tech 457bc83
Скорректировано описание модулей команд
bia-tech da9fb62
Добавлена команда export
bia-tech 8105108
Добавлена команда all и внесены исправления по остальным
bia-tech 07662ac
Доделана синхронизация и удалены лишние модули
bia-tech 1299726
Добавил возможность запуска sync без указания имени (вернул обратную …
bia-tech c7e0f8f
Добавил таб вместо пробела у src
bia-tech 75a85e4
Добавлен модуль с константами и скорректировано формирование версии п…
bia-tech 4483a87
Вернул исходный tasks.json
bia-tech 65a14a3
Вернул весь исходный tasks.json
bia-tech e56f8ea
Скорректированы модули под рекомендации oscript-app-template (C) Evil…
bia-tech da4416a
Указал верный идентификатор лога
bia-tech a9baabf
tab vs space
bia-tech d09b5a3
tab vs space
bia-tech 2498815
Внес патч по рекомендации
bia-tech 8e3e129
Перенес метод ТребуетсяСинхронизироватьХранилище
bia-tech 3ccdfa1
Убрал неиспользуемый код "НеРеализовано"
bia-tech 36c9147
Убрал лишнее указание стартового имени
bia-tech 2d9e036
Добавлена команда version и исправлен сценарии BDD
bia-tech 6a39db4
Скорректировано представление версии до оригинального варианта
bia-tech 55f4b9a
Переименован параметр метода СгенерироватьФайлAUTHORS
bia-tech 70382fc
Возможность отправлять на удаленный сервер через n-коммитов при коман…
khorevaa 05605b8
Merge pull request #4 from Khorevaa/feature/ref
theshadowco File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
There are no files selected for viewing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,84 @@ | ||
/////////////////////////////////////////////////////////////////// | ||
// | ||
// Служебный модуль с реализацией работы команды all | ||
// | ||
// Представляет собой модификацию приложения gitsync от | ||
// команды oscript-library | ||
// | ||
// Структура модуля реализована в соответствии с рекомендациями | ||
// oscript-app-template (C) EvilBeaver | ||
// | ||
/////////////////////////////////////////////////////////////////// | ||
|
||
Перем ДопПараметры; | ||
|
||
Процедура ЗарегистрироватьКоманду(Знач ИмяКоманды, Знач Парсер) Экспорт | ||
|
||
ОписаниеКоманды = Парсер.ОписаниеКоманды(ИмяКоманды, "Запускает синхронизацию по нескольким репозиториям"); | ||
|
||
Парсер.ДобавитьПозиционныйПараметрКоманды(ОписаниеКоманды, "ПутьКНастройкам", "Путь к файлу настроек синхронизатора."); | ||
|
||
Парсер.ДобавитьИменованныйПараметрКоманды(ОписаниеКоманды, "-log", "<Путь к файлу лога>"); | ||
Парсер.ДобавитьИменованныйПараметрКоманды(ОписаниеКоманды, "-timer", "<Интервал срабатывания>"); | ||
Парсер.ДобавитьИменованныйПараметрКоманды(ОписаниеКоманды, "-force", "<on|off> принудительная синхронизация"); | ||
Парсер.ДобавитьИменованныйПараметрКоманды(ОписаниеКоманды, "-debug", "<on|off>"); | ||
Парсер.ДобавитьИменованныйПараметрКоманды(ОписаниеКоманды, "-verbose", "<on|off>"); | ||
Парсер.ДобавитьИменованныйПараметрКоманды(ОписаниеКоманды, "-tempdir", "<Путь к каталогу временных файлов>"); | ||
|
||
Парсер.ДобавитьКоманду(ОписаниеКоманды); | ||
|
||
КонецПроцедуры // ЗарегистрироватьКоманду | ||
|
||
Функция ВыполнитьКоманду(Знач ПараметрыКоманды, Знач ДополнительныеПараметры) Экспорт | ||
|
||
ДопПараметры = ДополнительныеПараметры; | ||
|
||
ИмяФайлаНастроек = ПараметрыКоманды["ПутьКНастройкам"]; | ||
Если ИмяФайлаНастроек = Неопределено Тогда | ||
|
||
МенеджерКомандПриложения.ПоказатьСправкуПоКомандам("all"); | ||
Возврат МенеджерКомандПриложения.РезультатыКоманд().НеверныеПараметры; | ||
|
||
КонецЕсли; | ||
|
||
КаталогRoot = ОбъединитьПути(ТекущийСценарий().Каталог, "..\..\"); | ||
|
||
Если ПараметрыКоманды["-log"] <> Неопределено Тогда | ||
|
||
Аппендер = Новый ВыводЛогаВФайл(); | ||
Аппендер.ОткрытьФайл(ПараметрыКоманды["-log"]); | ||
ДополнительныеПараметры.Лог.ДобавитьСпособВывода(Аппендер); | ||
Раскладка = ЗагрузитьСценарий(ОбъединитьПути(КаталогRoot, "log-layout.os")); | ||
ДополнительныеПараметры.Лог.УстановитьРаскладку(Раскладка); | ||
|
||
КонецЕсли; | ||
|
||
Интервал = 0; | ||
Если ПараметрыКоманды["-timer"] <> Неопределено Тогда | ||
|
||
Интервал = Число(ПараметрыКоманды["-timer"]); | ||
|
||
КонецЕсли; | ||
|
||
Контроллер = ЗагрузитьСценарий(ОбъединитьПути(КаталогRoot, "multi-controller.os")); | ||
|
||
Пока Истина Цикл | ||
|
||
Контроллер.ВыполнитьСинхронизациюПоФайлуНастроек(ЭтотОбъект, ИмяФайлаНастроек, ПараметрыКоманды["-force"] = Истина); | ||
|
||
Если Интервал <= 0 Тогда | ||
|
||
Прервать; | ||
|
||
Иначе | ||
|
||
ДополнительныеПараметры.Лог.Информация("Ожидаем " + Интервал + " секунд перед новым циклом"); | ||
Приостановить(Интервал * 1000); | ||
|
||
КонецЕсли; | ||
|
||
КонецЦикла; | ||
|
||
Возврат МенеджерКомандПриложения.РезультатыКоманд().Успех; | ||
|
||
КонецФункции // ВыполнитьКоманду |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,54 @@ | ||
/////////////////////////////////////////////////////////////////// | ||
// | ||
// Служебный модуль с реализацией работы команды clone | ||
// | ||
// Представляет собой модификацию приложения gitsync от | ||
// команды oscript-library | ||
// | ||
// Структура модуля реализована в соответствии с рекомендациями | ||
// oscript-app-template (C) EvilBeaver | ||
// | ||
/////////////////////////////////////////////////////////////////// | ||
|
||
Процедура ЗарегистрироватьКоманду(Знач ИмяКоманды, Знач Парсер) Экспорт | ||
|
||
ОписаниеКоманды = Парсер.ОписаниеКоманды(ИмяКоманды, "Клонирует существующий репозиторий и создает служебные файлы"); | ||
|
||
Парсер.ДобавитьПозиционныйПараметрКоманды(ОписаниеКоманды, "ПутьКХранилищу", "Файловый путь к каталогу хранилища конфигурации 1С."); | ||
Парсер.ДобавитьПозиционныйПараметрКоманды(ОписаниеКоманды, "URLРепозитория", "Адрес удаленного репозитория GIT."); | ||
Парсер.ДобавитьПозиционныйПараметрКоманды(ОписаниеКоманды, "ЛокальныйКаталогГит", "Каталог исходников внутри локальной копии git-репозитария."); | ||
|
||
Парсер.ДобавитьИменованныйПараметрКоманды(ОписаниеКоманды, "-email", "<домен почты для пользователей git>"); | ||
Парсер.ДобавитьИменованныйПараметрКоманды(ОписаниеКоманды, "-debug", "<on|off>"); | ||
Парсер.ДобавитьИменованныйПараметрКоманды(ОписаниеКоманды, "-verbose", "<on|off>"); | ||
Парсер.ДобавитьИменованныйПараметрКоманды(ОписаниеКоманды, "-tempdir", "<Путь к каталогу временных файлов>"); | ||
|
||
Парсер.ДобавитьКоманду(ОписаниеКоманды); | ||
|
||
КонецПроцедуры // ЗарегистрироватьКоманду | ||
|
||
Функция ВыполнитьКоманду(Знач ПараметрыКоманды, Знач ДополнительныеПараметры) Экспорт | ||
|
||
Распаковщик = РаспаковщикКонфигурации.ПолучитьИНастроитьРаспаковщик(ПараметрыКоманды, ДополнительныеПараметры); | ||
КаталогРабочейКопии = РаспаковщикКонфигурации.ПодготовитьКаталогНовойРабочейКопии(ПараметрыКоманды["ЛокальныйКаталогГит"]); | ||
|
||
URL = ПараметрыКоманды["URLРепозитория"]; | ||
Если ПустаяСтрока(URL) Тогда | ||
|
||
ВызватьИсключение "Не указан URL репозитария"; | ||
|
||
КонецЕсли; | ||
|
||
СоздатьКаталог(КаталогРабочейКопии); | ||
Результат = Распаковщик.КлонироватьРепозитарий(КаталогРабочейКопии, URL); | ||
Если Результат <> 0 Тогда | ||
|
||
ВызватьИсключение "git clone вернул код <" + Результат + ">"; | ||
|
||
КонецЕсли; | ||
|
||
РаспаковщикКонфигурации.НаполнитьКаталогРабочейКопииСлужебнымиДанными(КаталогРабочейКопии, Распаковщик, ПараметрыКоманды["ПутьКХранилищу"]); | ||
|
||
Возврат МенеджерКомандПриложения.РезультатыКоманд().Успех; | ||
|
||
КонецФункции // ВыполнитьКоманду |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,85 @@ | ||
/////////////////////////////////////////////////////////////////// | ||
// | ||
// Служебный модуль с реализацией работы команды export | ||
// | ||
// Представляет собой модификацию приложения gitsync от | ||
// команды oscript-library | ||
// | ||
// Структура модуля реализована в соответствии с рекомендациями | ||
// oscript-app-template (C) EvilBeaver | ||
// | ||
/////////////////////////////////////////////////////////////////// | ||
|
||
Процедура ЗарегистрироватьКоманду(Знач ИмяКоманды, Знач Парсер) Экспорт | ||
|
||
ОписаниеКоманды = Парсер.ОписаниеКоманды(ИмяКоманды, "Выполнить локальную синхронизацию, без pull/push"); | ||
|
||
Парсер.ДобавитьПозиционныйПараметрКоманды(ОписаниеКоманды, "ПутьКХранилищу", "Файловый путь к каталогу хранилища конфигурации 1С."); | ||
Парсер.ДобавитьПозиционныйПараметрКоманды(ОписаниеКоманды, "ЛокальныйКаталогГит", "Каталог исходников внутри локальной копии git-репозитария."); | ||
|
||
Парсер.ДобавитьИменованныйПараметрКоманды(ОписаниеКоманды, "-email", "<домен почты для пользователей git>"); | ||
Парсер.ДобавитьИменованныйПараметрКоманды(ОписаниеКоманды, "-v8version", "<Маска версии платформы (8.3, 8.3.5, 8.3.6.2299 и т.п.)>"); | ||
Парсер.ДобавитьИменованныйПараметрКоманды(ОписаниеКоманды, "-debug", "<on|off>"); | ||
Парсер.ДобавитьИменованныйПараметрКоманды(ОписаниеКоманды, "-verbose", "<on|off>"); | ||
Парсер.ДобавитьИменованныйПараметрКоманды(ОписаниеКоманды, "-format", "<hierarchical|plain>"); | ||
Парсер.ДобавитьИменованныйПараметрКоманды(ОписаниеКоманды, "-minversion", "<номер минимальной версии для выгрузки>"); | ||
Парсер.ДобавитьИменованныйПараметрКоманды(ОписаниеКоманды, "-maxversion", "<номер максимальной версии для выгрузки>"); | ||
Парсер.ДобавитьИменованныйПараметрКоманды(ОписаниеКоманды, "-limit", "<выгрузить неболее limit версий от текущей выгруженной>"); | ||
Парсер.ДобавитьИменованныйПараметрКоманды(ОписаниеКоманды, "-tempdir", "<Путь к каталогу временных файлов>"); | ||
|
||
Парсер.ДобавитьКоманду(ОписаниеКоманды); | ||
|
||
КонецПроцедуры // ЗарегистрироватьКоманду | ||
|
||
Функция ВыполнитьКоманду(Знач ПараметрыКоманды, Знач ДополнительныеПараметры) Экспорт | ||
|
||
ЛокальныйКаталогГит = ПараметрыКоманды["ЛокальныйКаталогГит"]; | ||
Формат = ПараметрыКоманды["-format"]; | ||
МинВерсия = ПараметрыКоманды["-minversion"]; | ||
МаксВерсия = ПараметрыКоманды["-maxversion"]; | ||
Лимит = ПараметрыКоманды["-limit"]; | ||
|
||
Если ЛокальныйКаталогГит = Неопределено Тогда | ||
|
||
ЛокальныйКаталогГит = ТекущийКаталог(); | ||
|
||
КонецЕсли; | ||
|
||
Если Формат = Неопределено Тогда | ||
|
||
Формат = РежимВыгрузкиФайлов.Авто; | ||
|
||
КонецЕсли; | ||
|
||
Если МинВерсия = Неопределено Тогда | ||
|
||
МинВерсия = 0; | ||
|
||
КонецЕсли; | ||
|
||
Если МаксВерсия = Неопределено Тогда | ||
|
||
МаксВерсия = 0; | ||
|
||
КонецЕсли; | ||
|
||
Если Лимит = Неопределено Тогда | ||
|
||
Лимит = 0; | ||
|
||
КонецЕсли; | ||
|
||
МаксВерсия = Число(МаксВерсия); | ||
МинВерсия = Число(МинВерсия); | ||
Лимит = Число(Лимит); | ||
|
||
Распаковщик = РаспаковщикКонфигурации.ПолучитьИНастроитьРаспаковщик(ПараметрыКоманды, ДополнительныеПараметры); | ||
Распаковщик.ВерсияПлатформы = ПараметрыКоманды["-v8version"]; | ||
Распаковщик.ДоменПочтыДляGitПоУмолчанию = ПараметрыКоманды["-email"]; | ||
ДополнительныеПараметры.Лог.Информация("Начинаю выгрузку исходников"); | ||
РаспаковщикКонфигурации.ВыполнитьЭкспортИсходников(Распаковщик, ПараметрыКоманды["ПутьКХранилищу"], ЛокальныйКаталогГит, МинВерсия, МаксВерсия, Формат,,, Лимит); | ||
ДополнительныеПараметры.Лог.Информация("Выгрузка завершена"); | ||
|
||
Возврат МенеджерКомандПриложения.РезультатыКоманд().Успех; | ||
|
||
КонецФункции // ВыполнитьКоманду |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,53 @@ | ||
/////////////////////////////////////////////////////////////////// | ||
// | ||
// Служебный модуль с реализацией работы команды init | ||
// | ||
// Представляет собой модификацию приложения gitsync от | ||
// команды oscript-library | ||
// | ||
// Структура модуля реализована в соответствии с рекомендациями | ||
// oscript-app-template (C) EvilBeaver | ||
// | ||
/////////////////////////////////////////////////////////////////// | ||
|
||
Процедура ЗарегистрироватьКоманду(Знач ИмяКоманды, Знач Парсер) Экспорт | ||
|
||
ОписаниеКоманды = Парсер.ОписаниеКоманды(ИмяКоманды, "Создает новый репозиторий и создает служебные файлы"); | ||
|
||
Парсер.ДобавитьПозиционныйПараметрКоманды(ОписаниеКоманды, "ПутьКХранилищу", "Файловый путь к каталогу хранилища конфигурации 1С."); | ||
Парсер.ДобавитьПозиционныйПараметрКоманды(ОписаниеКоманды, "ЛокальныйКаталогГит", "Адрес локального репозитория GIT или каталог исходников внутри локальной копии git-репозитария."); | ||
|
||
Парсер.ДобавитьИменованныйПараметрКоманды(ОписаниеКоманды, "-email", "<домен почты для пользователей git>"); | ||
Парсер.ДобавитьИменованныйПараметрКоманды(ОписаниеКоманды, "-debug", "<on|off>"); | ||
Парсер.ДобавитьИменованныйПараметрКоманды(ОписаниеКоманды, "-verbose", "<on|off>"); | ||
Парсер.ДобавитьИменованныйПараметрКоманды(ОписаниеКоманды, "-tempdir", "<Путь к каталогу временных файлов>"); | ||
|
||
Парсер.ДобавитьКоманду(ОписаниеКоманды); | ||
|
||
КонецПроцедуры // ЗарегистрироватьКоманду | ||
|
||
Функция ВыполнитьКоманду(Знач ПараметрыКоманды, Знач ДополнительныеПараметры) Экспорт | ||
|
||
Распаковщик = РаспаковщикКонфигурации.ПолучитьИНастроитьРаспаковщик(ПараметрыКоманды, ДополнительныеПараметры); | ||
КаталогРабочейКопии = РаспаковщикКонфигурации.ПодготовитьКаталогНовойРабочейКопии(ПараметрыКоманды["ЛокальныйКаталогГит"]); | ||
|
||
// инициализировать с нуля | ||
СоздатьКаталог(КаталогРабочейКопии); | ||
ЭтоКаталогГит = Распаковщик.ПроверитьНаличиеРепозитарияГит(КаталогРабочейКопии); | ||
Если Не ЭтоКаталогГит Тогда | ||
|
||
Результат = Распаковщик.ИнициализироватьРепозитарий(КаталогРабочейКопии); | ||
Если Результат <> 0 Тогда | ||
|
||
ВызватьИсключение "git init вернул код <" + Результат + ">"; | ||
|
||
КонецЕсли; | ||
|
||
КонецЕсли; | ||
|
||
РаспаковщикКонфигурации.НаполнитьКаталогРабочейКопииСлужебнымиДанными(КаталогРабочейКопии, Распаковщик, ПараметрыКоманды["ПутьКХранилищу"]); | ||
|
||
Возврат МенеджерКомандПриложения.РезультатыКоманд().Успех; | ||
|
||
КонецФункции // ВыполнитьКоманду | ||
|
Oops, something went wrong.
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@nixel2007, @khorevaa - ну вот, а вы говорите, json, yaml... Скрипты рулят.