limit: --maxversion не ограничивает выгрузку, если одновременно задан -l/--limit
Nadie ha tomado este issue todavía.
Evaluación
- Dificultad
- 2/5
- Tiempo estimado
- 1-3 horas
- Aptitud para principiantes
- 82/100
- Tipo de issue
- Error
- Claridad
- Bien especificado
- Estado de actividad
- Tranquilo
- Área
- cli
Línea de trabajo
Comienza con src/Классы/limit.os y sigue cómo -l/--limit y --maxversion determinan el endpoint de exportación. Reproduce el problema con el comando mostrado en el informe y verifica después que el endpoint efectivo es el menor de los dos límites y que la exportación se detiene en la versión 1982.
Escrito por el modelo de indexación a partir del texto del issue.
Descripción
Описание
При одновременном использовании -l/--limit и --maxversion плагин limit берёт максимум из двух границ вместо минимума. В результате --maxversion не ограничивает выгрузку — лимит её расширяет.
Воспроизведение
gitsync 3.8.0, gitsync-plugins 1.6.1, платформа 8.3.27.1989.
Синхронизировано 1974, последняя версия в хранилище 1985.
gitsync sync -l 10 --maxversion 1982 --error-comment --push --push-tags <storage> ./src/cf
Лог:
ИНФОРМАЦИЯ - Установлен лимит <10> для количества версий, при выгрузке
ИНФОРМАЦИЯ - Установлена конечная версия <1982> при выгрузке версий
...
ИНФОРМАЦИЯ - Получаем исходники для версии 1983
КРИТИЧНАЯОШИБКА - Версия <1984> от автора <...>: комментарий не задан
Ожидалось: выгрузка останавливается на 1982.
Фактически: дошла до 1983 и упала на проверке версии 1984.
Причина
src/Классы/limit.os:
Если КонечнаяВерсия = 0 Тогда
КонечнаяВерсия = НомерВерсииСогласноЛимита;
Иначе
КонечнаяВерсия = ?(КонечнаяВерсия >= НомерВерсииСогласноЛимита, КонечнаяВерсия, НомерВерсииСогласноЛимита);
КонецЕсли
При лимите 10 от версии 1974 НомерВерсииСогласноЛимита = 1984; условие 1982 >= 1984 ложно, поэтому конечной версией становится 1984.
Ожидаемое поведение
Оба параметра — ограничения сверху, поэтому естественно брать минимум: Мин(КонечнаяВерсия, НомерВерсииСогласноЛимита).
Сейчас поведение неочевидно: в справке оба параметра описаны независимо, и в логе честно печатается «Установлена конечная версия <1982>», хотя фактически применяется 1984.
Обходной путь
Не использовать -l вместе с --maxversion.
- Lenguaje dominante
- 1C Enterprise
- Estrellas
- 42
- Forks
- 47
- Métricas de merge de PR
- Sin PR fusionados en 30 d
Guía de contribución
Primeros pasos
- Lee el issue completo y luego la guía de contribución del proyecto.
- Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
- Haz un fork del repositorio y trabaja en una rama.
- Abre un pull request que haga referencia al número del issue.
Más de oscript-library/gitsync-plugins
-
Dificultad 3/5 1-2 días Aptitud para principiantes 68/100
-
Сбой при установке тега Abiertobug good first issue
Dificultad 3/5 1-2 días Aptitud para principiantes 45/100
-
Dificultad 1/5 Menos de una hora Aptitud para principiantes 35/100
oscript-library/gitsync-plugins#128 · 1 comentario ·
-
Dificultad 3/5 1-2 días Aptitud para principiantes 48/100
-
Dificultad 3/5 1-2 días Aptitud para principiantes 35/100
Todos los issues de oscript-library/gitsync-plugins
Issues similares
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 88/100
-
bug
Dificultad 2/5 1-3 horas Aptitud para principiantes 74/100
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 86/100
ArthurSonzogni/FTXUI#1363 ·
-
area/install-update bug comp/cli P2 sweeper:risk-compatibility type/bug
Dificultad 2/5 1-3 horas Aptitud para principiantes 72/100
NousResearch/hermes-agent#122240 ·
-
[Bug]: AuthRequiredError silently discards a recovery hint — every sibling error class accepts one Abierto
Dificultad 2/5 1-3 horas Aptitud para principiantes 88/100