Expand description
Minimal internal progress abstraction for Export/Import V2.
This is intentionally small and log/internal oriented. It does not touch
stdout and is safe for non-interactive runs. LogProgress backs the
import-v2 --progress flag for non-interactive runs by routing events to
stderr, while IndicatifProgress renders an interactive bar on a TTY.
Both implement ProgressReporter, so call sites stay agnostic.
Structsยง
- Indicatif
Progress ๐ - A reporter that renders an interactive progress bar via
indicatif. - LogProgress ๐
- A lightweight reporter that logs phase lifecycle and progress through the stderr. It never touches stdout, so it is safe for non-interactive runs and keeps dry-run output clean.
- Noop
Progress ๐ - A reporter that discards every event. Used as the production default and in tests that do not care about progress.
- Phase
State ๐ - Progress
Phase ๐ - RAII guard for a started progress phase.
Enumsยง
- Progress
Mode ๐ - Controls progress reporting for Export/Import V2.
- Progress
Output ๐Kind
Traitsยง
- Progress
Reporter ๐ - Receives progress events from long-running Export/Import V2 work.
Functionsยง
- build_
progress_ ๐reporter - Builds the progress reporter for
mode.neveris silent; otherwise an interactive bar is used on TTY stderr, falling back to lightweight log progress when stderr is redirected. - progress_
bar_ ๐supported - progress_
output_ ๐kind - Selects the progress output style for
modegiven whether stderr is a TTY and whether the terminal environment is suitable for progress-bar control sequences. - term_
supports_ ๐progress_ bar - write_
progress_ ๐line