Skip to content
Merged
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
15 changes: 15 additions & 0 deletions src/gitsync.os
Original file line number Diff line number Diff line change
Expand Up @@ -97,6 +97,7 @@
Парсер.ДобавитьИменованныйПараметрКоманды(Команда, "-force", "<on|off> принудительная синхронизация");
Парсер.ДобавитьИменованныйПараметрКоманды(Команда, "-debug", "<on|off>");
Парсер.ДобавитьИменованныйПараметрКоманды(Команда, "-verbose", "<on|off>");
Парсер.ДобавитьИменованныйПараметрКоманды(Команда, "-tempdir", "Путь к каталогу временных файлов");
Парсер.ДобавитьКоманду(Команда);

КонецПроцедуры
Expand Down Expand Up @@ -139,6 +140,7 @@
Парсер.ДобавитьИменованныйПараметр("-verbose", "<on|off>");
Парсер.ДобавитьИменованныйПараметр("-branch", "<имя ветки git>");
Парсер.ДобавитьИменованныйПараметр("-format", "<hierarchical|plain>");
Парсер.ДобавитьИменованныйПараметр("-tempdir", "Путь к каталогу временных файлов");

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

Expand All @@ -147,12 +149,14 @@
Если ТипЗнч(Параметры) = Тип("Структура") Тогда
УстановитьРежимОтладкиПриНеобходимости(Параметры.ЗначенияПараметров);
УстановитьРежимУдаленияВременныхФайлов(Параметры.ЗначенияПараметров);
УстановитьБазовыйКаталогВременныхФайлов(Параметры.ЗначенияПараметров);

ВыполнитьКоманду(Параметры);
Иначе

УстановитьРежимОтладкиПриНеобходимости(Параметры);
УстановитьРежимУдаленияВременныхФайлов(Параметры);
УстановитьБазовыйКаталогВременныхФайлов(Параметры);

Синхронизировать(
Параметры["ПутьКХранилищу"],
Expand Down Expand Up @@ -383,6 +387,17 @@
КонецЕсли;
КонецПроцедуры

Процедура УстановитьБазовыйКаталогВременныхФайлов(Знач Параметры)
Если ЗначениеЗаполнено(Параметры["-tempdir"]) Тогда
БазовыйКаталог = Параметры["-tempdir"];
Если Не (Новый Файл(БазовыйКаталог).Существует()) Тогда
СоздатьКаталог(БазовыйКаталог);
КонецЕсли;

ВременныеФайлы.БазовыйКаталог = БазовыйКаталог;
Copy link
Member

@artbear artbear Nov 22, 2016

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Не согласен с переустановкой свойства у глобальной переменной ВременныеФайлы.
Может повлиять на работу различных скриптов, которые могут вызывать данный код - например, тестраннер или 1бдд или еще что-нибудь

ИМХО для таких случаев нужно юзать собственный экземпляр класса ВременныеФайлы и в своем коде юзать только его.

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Т.е. для этого изменения нужно во всем коде исправить вызов ВременныеФайлы, заменив на собственный объект :)

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@EvilBeaver Помнишь, как-то говорили об этом в гиттере?

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Хм. Согласен.

Copy link
Member Author

@khorevaa khorevaa Nov 22, 2016

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Тогда другой вопрос: подключение библиотеке в скрипт не создает ее отдельный экземпляр?
Если при одновременном выполнении скриптов используются одинаковое пространство для выполнения, тогда вообще объявление любой глобальной переменной может привести к коллапсу в другом скрипте, что на мой взгляд мало вероятно. Вообще вопрос больше к движку скриптов и как он работает...

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Вообще логично.. Тогда и использование глобальной переменной будет возможно :) В общем добавлять или нет решать Вам, но это РАБОТАЕТ!!

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@artbear гитсинк это приложение. Оно, в принципе, может переопределить свой temp. Но вопрос к @khorevaa у меня остался - что побудило менять основной темп?

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Но вопрос к @khorevaa у меня остался - что побудило менять основной темп?

@EvilBeaver Автор выше написал:

Но вообще указанная доработка решила мою проблему с переполнением диска C:\

Вопрос - почему бы весь пользовательский темп не перенаправить в другое место в этом случае? но в целом я не против сценария автора - меняем только для конкретного сценария.

Я с решаемой задачей (смена временного каталога) согласен, сценарий имеет место быть.
Я с реализацией не очень согласен.

@EvilBeaver Если у тебя нет возражений по задаче и ее реализации, ИМХО нужно принимать.

Copy link
Member Author

@khorevaa khorevaa Nov 25, 2016

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Поясню дополнительно. у меня есть терминальный сервер (1шт ) на котором гоняется gitsync в 6 экземплярах.... соответсвенно хотелось бы чтобы они складывали свой temp в отдельные папочки... В случае падения всегда можно посмотреть остаточный temp.

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Давным-давно я имел такую же проблему, как @khorevaa . Тогда я добавил такой функционал в v83unpack (гитсинка, как и 1Скрипта, еще не существовало). Но после портирования обработки на 1Скрипт возможность установки временного каталога выпилили. Причем намерянно.
Я уже задавал вопрос про возможность указания временного каталога для гитсинка. И мне ответили, что достаточно в батнике, который вызывает gitsync вызвать

SET TEMP = "нужный каталог"
SET TMP = "нужный каталог"

В общем меня вроде бы как устраивает.

КонецЕсли;
КонецПроцедуры

Процедура УдалитьВременныеФайлыПриНеобходимости()

Если УдалятьВременныеФайлы Тогда
Expand Down