GIT-RESTORE-MTIME(1)

NAME
git-restore-mtime - Restore original modification time of files based on the date of the most recent commit that modified them

SYNOPSIS

git-restore-mtime
    [-h] [--quiet] [--verbose] [--force] [--merge] [--first-parent]
    [--skip-missing] [--no-directories] [--test] [--commit-time]
    [--work-tree WORKDIR] [--git-dir GITDIR]
    [pathspec [pathspec...]]

DESCRIPTION
Restore original modification time of files based on the date of the most recent commit that modified them. Useful when generating release tarballs.

OPTIONS

  Positional arguments:

pathspec
    only modify paths (dirs or files) matching PATHSPEC, relative to current directory. Default is to modify all non-ignored, tracked files.

  Optional arguments:

-h, --help
    show help message and exit

--quiet,-q
    suppress informative messages and summary statistics.

--verbose,-v
    print additional information for each processed file. Overwrites --quiet.

--force,-f
    force execution on trees with uncommitted changes.

--merge,-m
    include merge commits. Leads to more recent mtimes and more files per commit, thus with the same mtime (which may or may not be what you want). Including merge commits may lead to less commits being evaluated (all files are found sooner), which improves performance, sometimes substantially. But since merge commits are usually huge, processing them may also take longer, sometimes substantially. By default merge logs are only used for files missing from regular commit logs.

--first-parent
    pass --first-parent to git whatchanged to hide the second parent from the merge commit logs. Only has any effect if --merge is also specified or --skip-missing is not specified and there were files not found in regular commit logs.

--skip-missing,-s
    do not try to find missing files. If some files were not found in regular commit logs, by default it retries using merge commit logs for these files (if --merge was not used already). This option disables this behavior, which may slightly improve performance, but files found only in merge commits will not be updated.

--no-directories,-D
    do not update directory mtime for files created, renamed or deleted in it. Note: just modifying a file will not update its directory mtime.

--test,-t
    test run: do not actually update any file

--commit-time,-c
    use commit time instead of author time

--work-tree WORKDIR
    specify where the work tree is. Default for most repositories is current directory.

--git-dir GITDIR
    specify where the git repository is. Default for most repositories <work-tree>/.git

SEE ALSO
https://github.com/MestreLion/git-tools

AUTHOR
Rodrigo Silva (MestreLion) linux@rodrigosilva.com