Metadata-Version: 2.4
Name: gitredate
Version: 0.3.0
Summary: Rewrite date of Git commits
Requires-Python: >=3.13
Description-Content-Type: text/markdown
Requires-Dist: bokeh>=3.7.3
Requires-Dist: businesstimedelta>=1.0.1
Requires-Dist: dateparser>=1.2.2
Requires-Dist: git-filter-repo>=2.47.0
Requires-Dist: gitpython>=3.1.45
Requires-Dist: python-dateutil>=2.9.0.post0
Requires-Dist: pytz>=2025.2
Requires-Dist: typer>=0.16.0
Requires-Dist: tzlocal>=5.3.1

# GitRedate

Rewrite commit dates and times in your git history to business hours.

Features:
- sets date during working hours
- keeps more or less delta time between commits
- preserves consistency with merge commits

## Usage

This requires UV, if you don't have it yet, install with `pip install uv`.

```bash
uvx gitredate --help
```

```
Usage: gitredate.exe [OPTIONS] [BASE_REF]

╭─ Arguments ──────────────────────────────────────────────────────────────────────────╮
│   base_ref      [BASE_REF]  Base ref at which redating starts. If empty, will redate │
│                             the last commit only. Set `root` the redate the whole    │
│                             history.                                                 │
│                             [default: HEAD~1]                                        │
╰──────────────────────────────────────────────────────────────────────────────────────╯
╭─ Options ────────────────────────────────────────────────────────────────────────────╮
│ --min-date                  YYYY-MM-DD(THH:MM(:SS))  Custom start date and time      │
│                                                      [default: None]                 │
│ --max-date                  YYYY-MM-DD(THH:MM(:SS))  Custom end date and time        │
│                                                      [default: None]                 │
│ --working-days              TEXT                     Working days, provide this      │
│                                                      argument for each working day   │
│                                                      (monday=1)                      │
│                                                      [default: 1,2,3,4,5]            │
│ --working-hour-start        HH:MM(:SS)               Work day starting hour          │
│                                                      [default: 8:00]                 │
│ --working-hour-end          HH:MM(:SS)               Work day ending hour            │
│                                                      [default: 18:00]                │
│ --repository                PATH                     Path to the git repository      │
│                                                      [default: .]                    │
│ --help                                               Show this message and exit.     │
╰──────────────────────────────────────────────────────────────────────────────────────╯
```
