oscript-library / oscript-library/gitsync

Добавить опцию вывода справки с учетом всех плагинов

Open
#270 5 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

plugins
Dominant language
1C Enterprise
Stars
333
Forks
98
PR merge metrics
No merged PRs in 30d

Description

Существует проблема
Слабая справка по плагинам. По сути её нет. Есть лишь перечисление плагинов на github в readme, и перечисление плагинов по команде gitsync plugins list -a. Как использовать плагины и для чего - не ясно.
Команда gitsync sync --help помогает понять функционал плагина, но по умолчанию не выводит никакой информации по опциям команды sync при использовании плагинов. Требуется включить каждый плагин чтобы увидеть добавляемые им опции.

Хотелось бы иметь следующую функциональность
Опция --all-plugins к команде gitsync sync --help в виде gitsync sync --help --all-plugins выводит справку по всем опциям всех плагинов, не требуя предварительное подключение плагина.

Дополнительный контекст
Сравните

C:\Users\ERP-Test>gitsync sync --help
...
Опции:
  -u, --storage-user            пользователь хранилища конфигурации ...
  -p, --storage-pwd             пароль пользователя хранилища конфигурации ...
  -e, --ext, --extension        имя расширения для работы с хранилищем расширения...
Опции:
  -u, --storage-user            пользователь хранилища конфигурации ...
  -p, --storage-pwd             пароль пользователя хранилища конфигурации ...
  -e, --ext, --extension        имя расширения для работы с хранилищем расширения ...
  -l, --limit                   [*limit] выгрузить не более <Количества> версий от текущей выгруженной ...
      --minversion              [*limit] <номер> минимальной версии для выгрузки (по умолчанию 0)
      --maxversion              [*limit] <номер> максимальной версии для выгрузки (по умолчанию 0)
  -C, --error-comment           [*check-comments] флаг вызова ошибки при отсутствии текста комментария
      --task-prefix             [*check-comments] Префикс задачи. (env $GITSYNC_TASK_PREFIX)
      --min-task-count          [*check-comments] Минимальное количество упоминаний задач (по умолчанию 0)
      --max-task-count          [*check-comments] Максимальное количество упоминаний задач (по умолчанию 0)
  -S, --skip-exists-tags        [*smart-tags] флаг пропуска ошибок создания существующих тегов...
  -N, --numerator               [*smart-tags] флаг добавляет номер хранилища 1С как тег вида v.X
  -R, --rename-module           [*unpackForm] переименование module -> module.bsl ...
  -F, --rename-form             [*unpackForm] переименование form -> form.txt ...
  -P, --push                    [*sync-remote] Флаг отправки изменений на удаленный репозиторий...
  -G, --pull                    [*sync-remote] Флаг получения изменений из удаленный репозитория ...
  -T, --push-tags               [*sync-remote] Флаг отправки тегов по версиям ...
  -n, --push-n-commits          [*sync-remote] <число> количество коммитов до промежуточной ... 
  -P, --project-name            [*edtExport] Имя проекта (env $GITSYNC_PROJECT_NAME)
  -W, --workspace-location      [*edtExport] расположение рабочей области ...
  -B, --base-project-name       [*edtExport] имя базового проекта в рабочей области ...

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start with the implementation of gitsync sync --help and the plugin-loading path, then compare the current help output with gitsync plugins list -a. The change is complete when gitsync sync --help --all-plugins lists every plugin option without requiring plugins to be enabled, while preserving the existing help behavior.

Written by the indexing model from the issue text.

Assessment

Domain
cli
Issue type
Feature
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
42/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.