-
Notifications
You must be signed in to change notification settings - Fork 35
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Merge pull request #51 from khorevaa/develop
release 1.4.0
- Loading branch information
Showing
2 changed files
with
163 additions
and
1 deletion.
There are no files selected for viewing
This file contains 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 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,161 @@ | ||
#Использовать logos | ||
|
||
Перем Лог; | ||
Перем Обработчик; | ||
Перем МеткаЗамены; | ||
Перем АвторыДляДополнения; | ||
|
||
#Область Интерфейс_плагина | ||
|
||
// Возвращает версию плагина | ||
// | ||
// Возвращаемое значение: | ||
// Строка - текущая версия плагина | ||
// | ||
Функция Версия() Экспорт | ||
Возврат "1.0.0"; | ||
КонецФункции | ||
|
||
// Возвращает приоритет выполнения плагина | ||
// | ||
// Возвращаемое значение: | ||
// Число - приоритет выполнения плагина | ||
// | ||
Функция Приоритет() Экспорт | ||
Возврат 0; | ||
КонецФункции | ||
|
||
// Возвращает описание плагина | ||
// Возвращает описание плагина | ||
// | ||
// Возвращаемое значение: | ||
// Строка - описание функциональности плагина | ||
// | ||
Функция Описание() Экспорт | ||
Возврат "Плагин добавляет функциональность замены автора коммита"; | ||
КонецФункции | ||
|
||
// Возвращает подробную справку к плагину | ||
// | ||
// Возвращаемое значение: | ||
// Строка - подробная справка для плагина | ||
// | ||
Функция Справка() Экспорт | ||
|
||
ТекстСправки = | ||
"Плагин позволяет заменить автора коммита в git. | ||
| | ||
|Для замены необходимо при помещении версии хранилища добавить в комментарий к версии строку: | ||
| | ||
| --GitSyncAuthor НовыйАвтор | ||
| | ||
|НовыйАвтор должен быть указан в файле AUTHORS, наличие в хранилище не обязательно. | ||
| | ||
|При коммите изменений в git будет выполнена замена автора версии хранилища. | ||
| | ||
|Также будет удалена строка с командой замены из комментария коммита."; | ||
|
||
Возврат ТекстСправки; | ||
|
||
КонецФункции | ||
|
||
// Возвращает имя плагина | ||
// | ||
// Возвращаемое значение: | ||
// Строка - имя плагина при подключении | ||
// | ||
Функция Имя() Экспорт | ||
Возврат "replace-authors"; | ||
КонецФункции | ||
|
||
// Возвращает имя лога плагина | ||
// | ||
// Возвращаемое значение: | ||
// Строка - имя лога плагина | ||
// | ||
Функция ИмяЛога() Экспорт | ||
Возврат "oscript.lib.gitsync.plugins.replace-authors"; | ||
КонецФункции | ||
|
||
#КонецОбласти | ||
|
||
#Область Подписки_на_события | ||
|
||
Процедура ПриАктивизации(СтандартныйОбработчик) Экспорт | ||
|
||
Лог = Логирование.ПолучитьЛог(ИмяЛога()); | ||
|
||
Лог.Отладка("Активизация плагина <%1>", Имя()); | ||
Обработчик = СтандартныйОбработчик; | ||
|
||
МеткаЗамены = "--GitSyncAuthor "; | ||
|
||
АвторыДляДополнения = Новый Массив; | ||
|
||
КонецПроцедуры | ||
|
||
Процедура ПередНачаломВыполнения(ПутьКХранилищу, ВходящийКаталогРабочейКопии) Экспорт | ||
|
||
Лог.Отладка("Начата работа плагина <%1>", Имя()); | ||
|
||
КонецПроцедуры | ||
|
||
Процедура ПослеПолученияТаблицыВерсий(ТаблицаВерсий, ПутьКХранилищу) Экспорт | ||
|
||
Для Каждого СтрокаВерсии Из ТаблицаВерсий Цикл | ||
|
||
СтрокВКомментарии = СтрЧислоСтрок(СтрокаВерсии.Комментарий); | ||
|
||
Для Счетчик = 1 По СтрокВКомментарии Цикл | ||
|
||
СтрокаКомментария = СтрПолучитьСтроку(СтрокаВерсии.Комментарий, Счетчик); | ||
|
||
НужноЗаменитьАвтора = СтрНайти(СтрокаКомментария, МеткаЗамены) > 0; | ||
|
||
Если НужноЗаменитьАвтора Тогда | ||
|
||
НовыйАвтор = СтрЗаменить(СтрокаКомментария, МеткаЗамены, ""); | ||
НовыйАвтор = СокрЛП(НовыйАвтор); | ||
|
||
СтарыйАвтор = СтрокаВерсии.Автор; | ||
|
||
СтрокаВерсии.Автор = НовыйАвтор; | ||
СтрокаВерсии.ГУИД_Автора = НовыйАвтор; | ||
|
||
СтрокаВерсии.Комментарий = СтрЗаменить(СтрокаВерсии.Комментарий, СтрокаКомментария, ""); | ||
|
||
Лог.Информация( | ||
"Для версии хранилища <%1> заменен автор с <%2> на <%3>", | ||
СтрокаВерсии.НомерВерсии, | ||
СтарыйАвтор, | ||
НовыйАвтор); | ||
|
||
АвторыДляДополнения.Добавить(НовыйАвтор); | ||
|
||
КонецЕсли; | ||
|
||
КонецЦикла; | ||
|
||
КонецЦикла; | ||
|
||
КонецПроцедуры | ||
|
||
Процедура ПослеПолученияТаблицыПользователей(ТаблицаПользователей, ПутьКХранилищу) Экспорт | ||
|
||
Для каждого Автор Из АвторыДляДополнения Цикл | ||
|
||
НужноДобавитьВТаблицуПользователей = ТаблицаПользователей.Найти(Автор, "ГУИД_Автора") = Неопределено; | ||
|
||
Если НужноДобавитьВТаблицуПользователей Тогда | ||
|
||
НовыйПользователь = ТаблицаПользователей.Добавить(); | ||
НовыйПользователь.Автор = Автор; | ||
НовыйПользователь.ГУИД_Автора = Автор; | ||
|
||
КонецЕсли; | ||
|
||
КонецЦикла; | ||
|
||
КонецПроцедуры | ||
|
||
#КонецОбласти |