--commit -- автоматически переключить даты
#44
Reference in New Issue
Block a user
Delete Branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Контекст
Сейчас период отчёта задаётся через
--dateили берётся из.env. После генерации отчёта пользователь вручную обновляет даты, если хочет, чтобы следующий запуск захватил новый период.Предложение
Добавить флаг
--commit. После успешной генерации отчёта он фиксирует использованный период как новый период по умолчанию. Фиксация должна происходить в YAML-конфиге (~/.config/redmine-reporter/config.yml), см. #46.Структура в конфиге
Логика
--commitCLI используетperiod.default_from/period.default_to(или динамический период, еслиperiod.dynamic: true).--commitCLI:period.last_used.fromиperiod.last_used.to.--dateиспользуетperiod.last_usedкак отправную точку для вычисления «следующего» периода.Точность периода
period.precision: date(по умолчанию)last_usedхранится как дата, следующий период начинается со следующего дня.period.precision: datetimelast_usedхранится какdatetimeс точностью до секунды. Это позволяет избежать дублирования time entries, если отчёт отправлялся внутри рабочего дня. Подробнее — в #47.Правила переключения на следующий период
Если
period.dynamic: true:--commitза июнь 2026 следующий запуск берёт июль 2026.last_used— целый месяц, берётся следующий целый месяц.last_used— произвольный диапазон, берётся диапазон той же длины, начиная со дня (или момента времени), следующего заlast_used.to.Если
period.dynamic: false:--commitпросто перезаписываетdefault_from/default_toна только что использованный период.Файл по умолчанию
При
--commitудобно сразу сохранять отчёт в файл с именем по умолчанию из #43:Связанные задачи
period.last_used.datetimeв периоде и дедупликация time entries.--commit.Критерии приёмки
--commitдобавлен в CLI.--commitпериод сохраняется в~/.config/redmine-reporter/config.yml.period.precision(date/datetime).period.dynamic: trueследующий запуск вычисляет период на основеlast_used.period.dynamic: falseперезаписываютсяdefault_from/default_to.--commitсовместим с--output,--emailи другими флагами.period.last_used.