blob: b29b493c47a2c4e94a72e939e320edc3479cb3c2 (
plain) (
blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
|
## Introduction
[`git filter-branch`](https://git-scm.com/docs/git-filter-branch) is a really nice git feature.
For instance, it allows fancy stuff like subtree-splitting.
Problems may arise when the repository contains a lot of commits: this operation can take a lot of time.
Luckily recent versions of git allow us to perform this operation in an incremental way:
the first time `filter-branch` still requires some time, but following calls can be very fast.
## Requirements
- recent bash shell
- git 2.5.0 or newer.
## Usage
Get the script, and customize the variables you can find at its beginning.
## Legal stuff
Use at your own risk.
[MIT License](https://github.com/mlocati/incremental-git-filter-branch/blob/master/LICENSE).
## Credits
Special thanks to [Ian Campbell](https://github.com/ijc) for the implementation of the `--state-branch` option of git,
and his hints about how it can be used.
This script works only thanks to him (and if it doesn't work I'm the only person to blame).
|