Skip to content

push --force: параметр force=1 в запросе публикации - #284

Open
Segate-ekb wants to merge 13 commits into
oscript-library:masterfrom
Segate-ekb:стек/06-force

Hidden character warning

The head ref may contain hidden characters: "\u0441\u0442\u0435\u043a/06-force"
Open

Segate-ekb wants to merge 13 commits into
oscript-library:masterfrom
Segate-ekb:стек/06-force

Conversation

@Segate-ekb

@Segate-ekb Segate-ekb commented Oct 16, 2026 •

Copy link
Copy Markdown
Contributor

Зависимости. Зависит от #283 (адрес хаба). Следующий: #286. Все PR цепочки идут на master: пока #283 не влит, в диффе видны и его изменения; сливать по порядку.

Для пользователя. opm push --force просит хаб опубликовать поверх уже занятого номера версии: к ресурсу публикации добавляется force=1. Перезаписывать ли версию, решает хаб; хаб без поддержки параметр игнорирует.

Код. СерверыПакетов.ДляПубликации(…, Форсировать = Ложь) дописывает ?force=1 или &force=1 к ресурсу выбранного сервера. Отправка пакета не меняется.

Тесты. tests/push-target-test.os: с флагом ресурс заканчивается на force=1 для пула хаба и для ресурса со строкой запроса, без флага параметра нет. Без сети. Полный прогон зелёный.

Модуль ОшибкиСети переводит исключение HTTP-соединения в причину (имя не
разрешается, соединение отклонено, таймаут, TLS) и снимает служебную обёртку
платформы. СерверПакетов запоминает ПоследнююОшибкуСети; установка различает
404, 401/403 и прочие коды ответа, а для единственного сервера (-m) называет
адрес и причину. opm.os показывает суть исключения, подробности — в отладке.
…в доступе, иначе код и файл; без ответа — «Не удалось подключиться к <адрес>», исходная ошибка в отладочный журнал; модуль ОшибкиСети и разбор текста исключений сняты
…хабу параметром spec

Имя файла пакета в адресе прежнее (<пакет>-<спецификация>.ospx), сегменты пути и значение spec кодируются
одной функцией СерверПакетов. На 404 по тегу или выражению версии opm говорит, что их разрешает только хаб,
принимающий spec. Файловый сервер при названной спецификации не подбирает старшую версию.
Справка PACKAGE команд install, download и update — одной копией в ПараметрыПриложенияOpm.
…ного OneScript, причина отказа из ответа хаба показывается пользователю
…овка X-Checksum-Sha256 ответа хаба, при расхождении установка отказывает и файл не записывается, ответ без заголовка не сверяется
…ия] ставит пакет и его зависимости с сервера из адреса без записи в opm.cfg, opm push --hub хост[:порт][/пул] публикует в пул; разбор адреса — модуль АдресаХаба, сервер пула — СерверыПакетов.ИзАдреса с авторизацией сервера из настроек того же адреса; запрос публикации собирает СерверПакетов, отказ хаба показывается его сообщением; опция push -m устарела
… в нём — отказ с подсказкой про --pool; новая опция --pool (OPM_POOL) у push и install, --pool без --hub — отказ; install --hub [--pool] ставит пакеты из аргументов и их зависимости с пула хаба тем же путём, что и адрес в имени пакета (РаботаСПакетами.ПодключитьСерверХаба), адрес пакета вместе с --hub и --hub с -a, -f, -u, -m — отказ; АдресаХаба.АдресПула заменён на Адрес(Хаб, Пул); тесты адреса, публикации и установки с хаба из опций; README
…лчанию (http://hub.oscript.io), отказа нет; канал при --pool необязателен, как при --hub
…кации, отказ хаба и его сообщение — внутри СерверПакетов.ОтправитьПакет, ПодключитьХаб команды install без экспорта; конфликт адреса пакета с --hub — фичей install-hub; тесты публикации — только адрес и ресурс сервера, без заглушки хаба на python
…етов.ДляПубликации с признаком Форсировать), перезаписать ли занятый номер версии, решает хаб; тесты — по ресурсу сервера публикации
@coderabbitai

coderabbitai Bot commented Oct 16, 2026

Copy link
Copy Markdown

Warning

Review limit reached

You've used all free OSS reviews for now. Wait for the free limit to reset to keep reviewing this public repository.

Next included review available in 59 minutes.

Check out review usage here.

View limit details

Limit details: You’ve used the included review currently available.

Learn how review limits work.

Review configuration:

⚙️ Run configuration
  • Configuration used: Organization UI
  • Review profile: CHILL
  • Plan: Advanced
  • Run ID: ab8cfb1a-270f-4ab5-9839-3d3a286c0bb1
📥 Commits

Reviewing files that changed from the base of the PR and between 56defbe and 11f9987.

📒 Files selected for processing: 23
  • README.md
  • features/install-hub.feature
  • packagedef
  • src/cmd/Классы/КомандаOpm_Download.os
  • src/cmd/Классы/КомандаOpm_Install.os
  • src/cmd/Классы/КомандаOpm_Push.os
  • src/cmd/Классы/КомандаOpm_Update.os
  • src/cmd/Модули/ПараметрыПриложенияOpm.os
  • src/core/Классы/МенеджерПолученияПакетов.os
  • src/core/Классы/СерверПакетов.os
  • src/core/Классы/ФайловыйСерверОтвет.os
  • src/core/Классы/ФайловыйСерверПакетов.os
  • src/core/Модули/АдресаХаба.os
  • src/core/Модули/РаботаСОписаниемПакета.os
  • src/core/Модули/РаботаСПакетами.os
  • src/core/Модули/СерверыПакетов.os
  • tests/checksum-test.os
  • tests/fixtures/ЗаглушкаОтветаХаба.os
  • tests/fixtures/ЗаглушкаСервераПакетов.os
  • tests/hub-address-test.os
  • tests/network-errors-test.os
  • tests/package-spec-test.os
  • tests/push-target-test.os
  • Autofix · Keep fixing CodeRabbit findings and required CI, and resolving merge conflicts

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant