|
3 | 3 | Перем Лог; |
4 | 4 | Перем Обработчик; |
5 | 5 | Перем МеткаЗамены; |
| 6 | +Перем АвторыДляДополнения; |
6 | 7 |
|
7 | 8 | #Область Интерфейс_плагина |
8 | 9 |
|
|
46 | 47 | | |
47 | 48 | |Для замены необходимо при помещении версии хранилища добавить в комментарий к версии строку: |
48 | 49 | | |
49 | | - | --GitSyncAuthor ПользователяХранилища |
| 50 | + | --GitSyncAuthor НовыйАвтор |
| 51 | + | |
| 52 | + |НовыйАвтор должен быть указан в файле AUTHORS, наличие в хранилище не обязательно. |
50 | 53 | | |
51 | 54 | |При коммите изменений в git будет выполнена замена автора версии хранилища. |
52 | 55 | | |
|
80 | 83 |
|
81 | 84 | Процедура ПриАктивизации(СтандартныйОбработчик) Экспорт |
82 | 85 |
|
| 86 | + Лог = Логирование.ПолучитьЛог(ИмяЛога()); |
| 87 | + |
83 | 88 | Лог.Отладка("Активизация плагина <%1>", Имя()); |
84 | 89 | Обработчик = СтандартныйОбработчик; |
| 90 | + |
| 91 | + МеткаЗамены = "--GitSyncAuthor "; |
| 92 | + |
| 93 | + АвторыДляДополнения = Новый Массив; |
85 | 94 |
|
86 | 95 | КонецПроцедуры |
87 | 96 |
|
|
93 | 102 |
|
94 | 103 | Процедура ПослеПолученияТаблицыВерсий(ТаблицаВерсий, ПутьКХранилищу) Экспорт |
95 | 104 |
|
96 | | - ТаблицаПользователейХранилища = Обработчик.ПрочитатьТаблицуПользователейХранилища(ПутьКХранилищу); |
97 | | - |
98 | 105 | Для Каждого СтрокаВерсии Из ТаблицаВерсий Цикл |
99 | 106 |
|
100 | 107 | СтрокВКомментарии = СтрЧислоСтрок(СтрокаВерсии.Комментарий); |
|
110 | 117 | НовыйАвтор = СтрЗаменить(СтрокаКомментария, МеткаЗамены, ""); |
111 | 118 | НовыйАвтор = СокрЛП(НовыйАвтор); |
112 | 119 |
|
113 | | - СтрокаПользователя = ТаблицаПользователейХранилища.Найти(НовыйАвтор, "Автор"); |
| 120 | + СтарыйАвтор = СтрокаВерсии.Автор; |
114 | 121 |
|
115 | | - Если НЕ СтрокаПользователя = Неопределено Тогда |
| 122 | + СтрокаВерсии.Автор = НовыйАвтор; |
| 123 | + СтрокаВерсии.ГУИД_Автора = НовыйАвтор; |
116 | 124 |
|
117 | | - СтарыйАвтор = СтрокаВерсии.Автор; |
118 | | - |
119 | | - СтрокаВерсии.Автор = СтрокаПользователя.Автор; |
120 | | - СтрокаВерсии.ГУИД_Автора = СтрокаПользователя.ГУИД_Автора; |
121 | | - |
122 | | - СтрокаВерсии.Комментарий = СтрЗаменить(СтрокаВерсии.Комментарий, СтрокаКомментария, ""); |
123 | | - |
124 | | - Лог.Информация("Заменен автор коммита с <%1> на <%2>", СтарыйАвтор, НовыйАвтор); |
125 | | - |
126 | | - Иначе |
127 | | - |
128 | | - ТекстИсключение = СтрШаблон( |
129 | | - "В версии хранилища <%1> указан не корректный пользователь для замены <%2>", |
130 | | - СтрокаВерсии.НомерВерсии, |
131 | | - НовыйАвтор); |
132 | | - |
133 | | - ВызватьИсключение ТекстИсключение; |
134 | | - |
135 | | - КонецЕсли; |
136 | | - |
| 125 | + СтрокаВерсии.Комментарий = СтрЗаменить(СтрокаВерсии.Комментарий, СтрокаКомментария, ""); |
| 126 | + |
| 127 | + Лог.Информация( |
| 128 | + "Для версии хранилища <%1> заменен автор с <%2> на <%3>", |
| 129 | + СтрокаВерсии.НомерВерсии, |
| 130 | + СтарыйАвтор, |
| 131 | + НовыйАвтор); |
| 132 | + |
| 133 | + АвторыДляДополнения.Добавить(НовыйАвтор); |
| 134 | + |
137 | 135 | КонецЕсли; |
138 | 136 |
|
139 | 137 | КонецЦикла; |
|
142 | 140 |
|
143 | 141 | КонецПроцедуры |
144 | 142 |
|
145 | | -#КонецОбласти |
146 | | - |
147 | | -Процедура Инициализация() |
| 143 | +Процедура ПослеПолученияТаблицыПользователей(ТаблицаПользователей, ПутьКХранилищу) Экспорт |
148 | 144 |
|
149 | | - Лог = Логирование.ПолучитьЛог(ИмяЛога()); |
| 145 | + Для каждого Автор Из АвторыДляДополнения Цикл |
150 | 146 |
|
151 | | - МеткаЗамены = "--GitSyncAuthor "; |
| 147 | + НужноДобавитьВТаблицуПользователей = ТаблицаПользователей.Найти(Автор, "ГУИД_Автора") = Неопределено; |
| 148 | + |
| 149 | + Если НужноДобавитьВТаблицуПользователей Тогда |
| 150 | + |
| 151 | + НовыйПользователь = ТаблицаПользователей.Добавить(); |
| 152 | + НовыйПользователь.Автор = Автор; |
| 153 | + НовыйПользователь.ГУИД_Автора = Автор; |
| 154 | + |
| 155 | + КонецЕсли; |
| 156 | + |
| 157 | + КонецЦикла; |
152 | 158 |
|
153 | 159 | КонецПроцедуры |
154 | 160 |
|
155 | | -Инициализация(); |
| 161 | +#КонецОбласти |
0 commit comments