Установка/развертывание сабжа в нужный репозитарий #3

Установка/развертывание сабжа в нужный репозитарий #3

Нужен инструмент установки/развертывания в нужный репозитарий copy-to-hook.cmd недостаточно, он рассчитан только на xDD.

Пример запуска install2repo.cmd C:\Projects\MyRepo где C:\Projects\MyRepo - каталог исходных данных, в котором есть каталог .git

The text was updated successfully, but these errors were encountered:

nixel2007 commented May 20, 2016

Сценарий с симлинками можно переделать на позиционный параметр вместо вопроса. Чтобы за один шаг и все такое. Типа такого: `Когда я выполняю команду "precommit1c install -simlink" с параметром "ПутьКРепозиторию",

где путь к репозиторию - что-нибудь такое тестово зашитое, типа ./../precommit1c

artbear commented May 20, 2016

Сценарий с симлинками можно переделать на позиционный параметр вместо вопроса. Чтобы за один шаг и все такое. Типа такого: Когда я выполняю команду "precommit1c install -simlink" с параметром "ПутьКРепозиторию", где путь к репозиторию - что-нибудь такое тестово зашитое, типа ./../precommit1c`

ИМХО так и нужно. Иначе не получится

nixel2007 commented May 20, 2016

Что не получится? Задать вопрос пользоватею с консоли?

artbear commented May 20, 2016

@nixel2007 задать вопрос и/или реализовать такие развязанные шаги

nixel2007 commented May 20, 2016

@artbear Передача значений через контекст решит эту проблему. Ну а в вопросе вообще не вижу сложностей. В целом позиционный параметр более красивое и простое решение, согласен.

artbear commented May 20, 2016

Ну а в вопросе вообще не вижу сложностей.

Мы в 1скрипте не умеем задавать вопрос :) а все другое от лукавого! пояснишь, как вопрос предлагаешь задавать?

Передача значений через контекст решит эту проблему.

Мы по гитсинку недавно подобное обсуждали. Как ты определишь внутри шага, когда нужно запустить реальный процесс, а когда только передать параметры для него? или здесь все-таки прекоммит должен задать реальный вопрос? :)

nixel2007 commented May 20, 2016

Вопрос - консоль.вывестиСтроку() и Консоль.Прочитать()

nixel2007 commented May 20, 2016

По гитсинку - как я и предлагал до этого. Либо в одном шаге все, либо формировать строку итеративно склеивая её и кладя обратно в контекст.

artbear commented May 20, 2016

как-то мимо меня прошло. Спасибо!

artbear commented May 20, 2016

но вопрос в гитсинке зло :)

nixel2007 commented May 20, 2016

В гитсинке я вопрос не предлагаю) я предлагаю строку склеивать в три шага. И выполнять в четвёртом

nixel2007 commented May 20, 2016

Точнее я предлагаю так не делать и сделать один длинный шаг)

artbear commented May 24, 2016

По задаче создан PR #87

realMaxA commented Jul 21, 2016

Объясните, чем таким особенным отличаются сценарии "Установка прекоммит1с в репозиторий" и "Установка прекоммит1с в репозиторий с использованием симлинков", что в первом случае вопрос задавать не надо, а во втором без него обойтись не получится?

nixel2007 commented Jul 21, 2016

@realMaxA первый сценарий всегда устанавливает прекоммит из программ файлс. во втором сценарии нужен либо путь к установленным исходникам прекоммита в программ файлс, либо путь к репозиторию, куда был склонирован сам прекоммит.

по хорошему, вопрос не нужен, нужен именно дополнительный параметр.

realMaxA commented Jul 21, 2016

первый сценарий всегда устанавливает прекоммит из программ файлс.

Т. е. нахождение прекоммита в програм файлс известно

во втором сценарии нужен либо путь к установленным исходникам прекоммита в программ файлс,

Но ведь этот путь известен (см. предыдущее замечание)

либо путь к репозиторию, куда был склонирован сам прекоммит.

nixel2007 commented Jul 21, 2016

прекоммит может быть не установлен через opm. Например, ты его дорабатываешь, глядишь в исходники, просто имеешь как гит репозиторий.

realMaxA commented Jul 21, 2016 •

Тогда нужно 2 варианта работы:

  1. Установка из програм файлс
    • с копированием файлов
    • с созданием симлинков
  2. установка из произвольного места
    • с копированием файлов
    • с созданием симлинков

И оба два варианта устанавливаются в текущий репозитарий.

  1. Есть 2 варианта источников (програм файлс и произвольный репозитарий)
  2. Есть 2 варианта установки (с использованием симлинков и с использованием копий файлов)

Причём нужно предусмотреть, чтобы

  1. была возможность изменения способа установки (с симлинков на копирование и наоборот);
  2. возможное изменение имён/количества файлов, копируемых/линкуемых в hooks;
  3. обновление прекоммита автоматически обновляло и файлы в hooks.

При этом (я так думаю! (с)), если установка производится из произвольного места, то инсталлятор и не нужен -- пользователь и так знает, что делает. Т. е. вариант установки (2.) в этом случае отпадает.

nixel2007 commented Jul 21, 2016

установка из произвольного места с копированием файлов с созданием симлинков

ну. идея неплохая, но не уверен, что это будет частый режим работы. обычно же ты открываешь репозиторий и хочешь туда установить прекоммит. а не открываешь прекоммит, и вспоминаешь, что у тебя вооооон в том репо его не стоит.

  1. была возможность изменения способа установки (с симлинков на копирование и наоборот);
  2. возможное изменение имён/количества файлов, копируемых/линкуемых в hooks;

согласен. думаю, можно туда же в .hooks класть некий install.log, в котором указывать эту информацию. и потом ее анализировать при необходимости.

  1. обновление прекоммита автоматически обновляло и файлы в hooks.

категорически против. обновление прекоммита все же может поменять его поведение (вспоминаем относительно недавнюю ситуацию с изменением стандарта переноса строк). да и просто v8reader/v8unpack в новой версии может по-другому начать раскладывать файлы и это приведет к непонятным и нежелательным изменениям в репозитории.

максимум что можно сделать в этом случае, это воспользоваться способом установки №2, с неким режимом пакетной установки в несколько реп.

📎📎📎📎📎📎📎📎📎📎