Skip to content
This repository has been archived by the owner on Dec 20, 2019. It is now read-only.

Commit

Permalink
#3 Pull перед Push
Browse files Browse the repository at this point in the history
  • Loading branch information
Stepa86 committed Jul 9, 2017
1 parent 0d449cd commit cd8d451
Show file tree
Hide file tree
Showing 4 changed files with 22 additions and 1 deletion.
Binary file modified cf/Gitter.cf
Binary file not shown.
6 changes: 6 additions & 0 deletions src/Catalogs/Хранилища/Ext/ManagerModule.bsl
Original file line number Diff line number Diff line change
Expand Up @@ -211,6 +211,12 @@

Процедура ВыгрузитьВерсииВЛокальныйРепозиторий( Знач Хранилище, КоличествоВерсийВыгружаемыхЗаРаз = 0 ) Экспорт

ЛогОтладка( "--Получение изменений из удаленного репозитория " + Хранилище + "--" );

Git.Pull( Хранилище.ЛокальныйРепозиторийАдрес );

This comment has been minimized.

Copy link
@JohnyDeath

This comment has been minimized.

Copy link
@Stepa86

Stepa86 Jul 10, 2017

Author Owner

Перенести напрашивается в другое место, но не в пуш. Думаю пулл должен быть до коммитов, а не после.

This comment has been minimized.

Copy link
@JohnyDeath

JohnyDeath Jul 10, 2017

Как раз-таки стягивают всё перед тем как туда отправить свои изменения.

This comment has been minimized.

Copy link
@JohnyDeath

JohnyDeath Jul 10, 2017

И еще, если ты оставишь это здесь, то наверное надо вставить проверку на то, что вообще используется ли удаленный репозиторий

This comment has been minimized.

Copy link
@Stepa86

Stepa86 Jul 10, 2017

Author Owner

Опять же в гитсинхе сначало пул, потом коммиты, потом пуш


ЛогОтладка( "++Получение изменений из удаленного репозитория " + Хранилище + "++" );

ЛогОтладка( "--Выгрузка версий в локальный репозиторий " + Хранилище + "--" );

ТекстЗапроса = "ВЫБРАТЬ ПЕРВЫЕ 1
Expand Down
15 changes: 15 additions & 0 deletions src/CommonModules/Git/Ext/Module.bsl
Original file line number Diff line number Diff line change
Expand Up @@ -279,6 +279,21 @@

КонецПроцедуры

Процедура Pull( ЛокальныйРепозиторийАдрес ) Экспорт

This comment has been minimized.

Copy link
@JohnyDeath

JohnyDeath Jul 9, 2017

Я здесь немного дополнил вот так:

Процедура Pull(Знач Хранилище) Экспорт

ЛокальныйРепозиторийАдрес = Хранилище.ЛокальныйРепозиторийАдрес;
	
	ОсновнойПользователь = Хранилище.ОсновнойПользовательУдаленногоРепозитория;
	Если ЗначениеЗаполнено(ОсновнойПользователь) Тогда
		СконфигурироватьИмяПользователя(ЛокальныйРепозиторийАдрес, ОсновнойПользователь.ИмяПользователя);
		СконфигурироватьEmailПользователя(ЛокальныйРепозиторийАдрес, ОсновнойПользователь.Email);
	КонецЕсли;

Т.к. бывают случаи, что разраб в удаленном репозитории не зарегистрирован или не имеет доступа к нему.
Но мне вот пришлось в справочник "Хранилище" добавить реквизит "ОсновнойПользователь"

This comment has been minimized.

Copy link
@Stepa86

Stepa86 Jul 10, 2017

Author Owner

Насколько я понимаю, пуш и пул работают под текущей учеткой (ssl ключ или сохраненные параметры аутентификации по https) и не зависит от текущего пользователя в параметрах. Да и в гитсинхе так.

This comment has been minimized.

Copy link
@JohnyDeath

JohnyDeath Jul 10, 2017

У меня обламывалось без этого

ТекстКоманды = "git pull -v origin master";

КодВозврата = ВыполнитьКоманду( ЛокальныйРепозиторийАдрес, ТекстКоманды );

Если КодВозврата <> 0 Тогда

ОписаниеОшибки = "Неизвестная ошибка при получении изменений из удаленного репозитория";
ВызватьИсключение ИсключениеОшибкаПриВыполненииКоманды( ОписаниеОшибки, ТекстКоманды );

КонецЕсли;

КонецПроцедуры


Процедура Config( ЛокальныйРепозиторийАдрес, Параметр, Знач Значение, ЭкранироватьЗначение = Ложь )

Expand Down
2 changes: 1 addition & 1 deletion src/CommonModules/_Глобальный/Ext/Module.bsl
Original file line number Diff line number Diff line change
Expand Up @@ -118,7 +118,7 @@

ЛогКоманда( ТекстКоманды );

ТекстКоманды = ТекстКоманды + " > " + Экранировать( файлВывода );
ТекстКоманды = ТекстКоманды + " > " + Экранировать( файлВывода ) + " 2>&1";

КонецЕсли;

Expand Down

0 comments on commit cd8d451

Please sign in to comment.