mirror of
https://github.com/1C-Company/GitConverter.git
synced 2025-04-11 11:31:49 +02:00
Merge pull request #78 from 1C-Company/feature/19-ssh-auth
Возможность устанавливать любые адреса, в т.ч. ssh. Логин и пароль обязательный только для http/s closes #19
This commit is contained in:
commit
a73383a090
@ -61,11 +61,11 @@
|
||||
</items>
|
||||
<items xsi:type="form:FormField">
|
||||
<name>ВерсииПлатформыХранилища</name>
|
||||
<id>184</id>
|
||||
<title>
|
||||
<key>ru</key>
|
||||
<value>Версия хранилища</value>
|
||||
</title>
|
||||
<id>184</id>
|
||||
<visible>true</visible>
|
||||
<enabled>true</enabled>
|
||||
<userVisible>
|
||||
@ -1768,7 +1768,7 @@
|
||||
<textEdit>true</textEdit>
|
||||
<inputHint>
|
||||
<key>ru</key>
|
||||
<value>http или https адрес репозитория на сервере Git</value>
|
||||
<value>http, https или ssh адрес репозитория на сервере Git</value>
|
||||
</inputHint>
|
||||
</extInfo>
|
||||
</items>
|
||||
|
@ -1681,6 +1681,11 @@
|
||||
<segments>Объект.АдресРепозиторияGit</segments>
|
||||
</paths>
|
||||
</dataPath>
|
||||
<toolTipRepresentation>Button</toolTipRepresentation>
|
||||
<handlers>
|
||||
<event>OnChange</event>
|
||||
<name>АдресРепозиторияGitПриИзменении</name>
|
||||
</handlers>
|
||||
<extendedTooltip>
|
||||
<name>АдресРепозиторияGitРасширеннаяПодсказка1</name>
|
||||
<id>67</id>
|
||||
@ -1720,7 +1725,7 @@
|
||||
<textEdit>true</textEdit>
|
||||
<inputHint>
|
||||
<key>ru</key>
|
||||
<value>http или https адрес репозитория на сервере Git</value>
|
||||
<value>http, https или ssh адрес репозитория на сервере Git</value>
|
||||
</inputHint>
|
||||
</extInfo>
|
||||
</items>
|
||||
|
@ -126,6 +126,14 @@
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
&НаКлиенте
|
||||
Процедура АдресРепозиторияGitПриИзменении(Элемент)
|
||||
|
||||
УстановитьДоступность(ЭтаФорма);
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
|
||||
#КонецОбласти
|
||||
|
||||
#Область ОбработчикиКомандФормы
|
||||
@ -544,6 +552,12 @@
|
||||
Форма.Элементы.ФормаКонвертироватьВФорматEDT.Видимость = НЕ Форма.Объект.КонвертироватьВФорматEDT;
|
||||
Форма.Элементы.ДобавлятьМеткиСВерсиейКонфигурации.Видимость = Форма.Объект.КонвертироватьВФорматEDT;
|
||||
|
||||
ЭтоHTTPАдрес = СтрНачинаетсяС(Форма.Объект.АдресРепозиторияGit, "http://")
|
||||
ИЛИ СтрНачинаетсяС(Форма.Объект.АдресРепозиторияGit, "https://");
|
||||
|
||||
Форма.Элементы.ПользовательСервераGit.АвтоОтметкаНезаполненного = ЭтоHTTPАдрес;
|
||||
Форма.Элементы.ПарольСервераGit.АвтоОтметкаНезаполненного = ЭтоHTTPАдрес;
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
&НаСервере
|
||||
|
@ -140,7 +140,7 @@
|
||||
|
||||
МассивНеПроверяемыхРеквизитов = Новый Массив;
|
||||
|
||||
Если НЕ ЗначениеЗаполнено(АдресРепозиторияGit) Тогда
|
||||
Если НЕ ЗначениеЗаполнено(АдресРепозиторияGit) ИЛИ НЕ ЭтоHTTPАдрес(АдресРепозиторияGit) Тогда
|
||||
|
||||
МассивНеПроверяемыхРеквизитов.Добавить("ПользовательСервераGit");
|
||||
МассивНеПроверяемыхРеквизитов.Добавить("ПарольСервераGit");
|
||||
@ -168,4 +168,14 @@
|
||||
|
||||
#КонецОбласти
|
||||
|
||||
#Область СлужебныеПроцедурыИФункции
|
||||
|
||||
Функция ЭтоHTTPАдрес(Адрес)
|
||||
|
||||
Возврат СтрНачинаетсяС(Адрес, "http://") ИЛИ СтрНачинаетсяС(Адрес, "https://");
|
||||
|
||||
КонецФункции
|
||||
|
||||
#КонецОбласти
|
||||
|
||||
#КонецЕсли
|
@ -381,7 +381,7 @@
|
||||
</type>
|
||||
<toolTip>
|
||||
<key>ru</key>
|
||||
<value>Адрес репозитория Git на сервере</value>
|
||||
<value>Адрес репозитория Git на сервере. Возможно указание http, https или ssh адреса. Для варианта SSH авторизации необходимо настроить авторизацию на Git-сервер для пользователя ОС от имени которого запущен сервер 1С.</value>
|
||||
</toolTip>
|
||||
<mask></mask>
|
||||
<minValue xsi:type="core:UndefinedValue"/>
|
||||
|
@ -2129,26 +2129,27 @@
|
||||
|
||||
ФайлКоманды.ДобавитьСтроку(ТекстКомандыУстановкиКаталога);
|
||||
|
||||
Если ЭтоWindowsСервер Тогда
|
||||
ТекстКоманды = "git remote remove origin" + ВыводЛога + " || set ERRORLEVEL=0";
|
||||
Иначе
|
||||
ТекстКоманды = "git remote remove origin" + ВыводЛога + " || true";
|
||||
КонецЕсли;
|
||||
ФайлКоманды.ДобавитьСтроку(ТекстКоманды);
|
||||
|
||||
// Инициализация репозитория
|
||||
АдресРепозиторияGit = РеквизитыХранилища.АдресРепозиторияGit;
|
||||
ПозицияРазделителя = СтрНайти(АдресРепозиторияGit, "://");
|
||||
Если ПозицияРазделителя > 0 Тогда
|
||||
|
||||
Если ЭтоWindowsСервер Тогда
|
||||
ТекстКоманды = "git remote remove origin" + ВыводЛога + " || set ERRORLEVEL=0";
|
||||
Иначе
|
||||
ТекстКоманды = "git remote remove origin" + ВыводЛога + " || true";
|
||||
КонецЕсли;
|
||||
ФайлКоманды.ДобавитьСтроку(ТекстКоманды);
|
||||
Если ЗначениеЗаполнено(АдресРепозиторияGit) Тогда
|
||||
ТекстКоманды = "git remote add origin %АдресРепозиторияGit%" + ВыводЛога;
|
||||
АдресРепозиторияGit = Лев(АдресРепозиторияGit, ПозицияРазделителя + 2)
|
||||
+ РеквизитыХранилища.ПользовательСервераGit + ":"
|
||||
+ РеквизитыХранилища.ПарольСервераGit + "@"
|
||||
+ Прав(АдресРепозиторияGit, СтрДлина(АдресРепозиторияGit)
|
||||
- ПозицияРазделителя - 2);
|
||||
ПозицияРазделителя = СтрНайти(АдресРепозиторияGit, "://");
|
||||
Если ПозицияРазделителя > 0 и ЗначениеЗаполнено(РеквизитыХранилища.ПользовательСервераGit) Тогда
|
||||
АдресРепозиторияGit = Лев(АдресРепозиторияGit, ПозицияРазделителя + 2)
|
||||
+ РеквизитыХранилища.ПользовательСервераGit + ":"
|
||||
+ РеквизитыХранилища.ПарольСервераGit + "@"
|
||||
+ Прав(АдресРепозиторияGit, СтрДлина(АдресРепозиторияGit)
|
||||
- ПозицияРазделителя - 2);
|
||||
КонецЕсли;
|
||||
ТекстКоманды = СтрЗаменить(ТекстКоманды, "%АдресРепозиторияGit%", АдресРепозиторияGit);
|
||||
ФайлКоманды.ДобавитьСтроку(ТекстКоманды);
|
||||
|
||||
КонецЕсли;
|
||||
|
||||
Если ЭтоWindowsСервер Тогда
|
||||
|
Loading…
x
Reference in New Issue
Block a user