|
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