mirror of
https://github.com/newren/git-filter-repo.git
synced 2024-07-06 18:32:14 +02:00
35 lines
1.7 KiB
Markdown
35 lines
1.7 KiB
Markdown
|
## Background
|
||
|
|
||
|
filter-repo is not merely a history rewriting tool, it also contains a
|
||
|
library that can be used to write new history rewriting tools. This
|
||
|
directory contains several examples showing the breadth of different things
|
||
|
that could be done.
|
||
|
|
||
|
## Quick overview
|
||
|
|
||
|
Command |Description
|
||
|
-------|-----------
|
||
|
insert-beginning |Add a new file (e.g. LICENSE/COPYING) to the beginning of history.
|
||
|
signed-off-by |Add a Signed-off-by tag to a range of commits
|
||
|
lint-history |Run some lint command on all non-binary files in history.
|
||
|
clean-ignore |Delete files from history which match current gitignore rules.
|
||
|
|
||
|
## Purpose
|
||
|
|
||
|
Please note that the point of these examples is not to provide new complete
|
||
|
tools, but simply to demonstrate that extremely varied history rewriting
|
||
|
tools can be created which automatically inherit lots of useful base
|
||
|
functionality: rewriting hashes in commit messages, pruning commits that
|
||
|
become empty, handling filenames with funny characters, non-standard
|
||
|
encodings, handling of replace refs, etc. (Additional examples of using
|
||
|
filter-repo as a library can also be found in [the
|
||
|
testsuite](../../t/t9391/).) My sincerest hope is that these examples
|
||
|
provide lots of useful functionality, but that each is missing at least one
|
||
|
critical piece for your usecase. Go forth and extend and improve.
|
||
|
|
||
|
## Usage
|
||
|
|
||
|
All the examples require a symlink to git-filter-repo in your PYTHONPATH
|
||
|
named git_filter_repo.py in order to run; also, all have a --help flag to
|
||
|
get a description of their usage and flags.
|