Correct parallelisation of git filter-branch -
I have a repo with loads of branches and "git filter-branch ... - -" all dramatically Slows down and almost (about 400,000 commits, about 7 days time). But 'GIT filter-branch' at a branch gives an important performance boost (about 5 days).
Is it right to use the following algorithms to parallel the 'filter-branch' on the load of the branches?
- For bx (b 1.bn): GIT clone - beer-bbx repo.org repo.bx
- parallel on repo: bit: git filter- Branch - index-filter ... - head
- GIT init --bare repo.new
- For bx (b 1.bn): CD repo.bx; Git push repo.new head: bx
Riggers, Girt
GIT Filter-Congratulations on finding an interesting way to parallel the execution of the branch
- I think in theory, the process described will be correct and give Will be successful in; Intrinsically repeated written history, though it will surely depend on the right what your - index-filter
command was going on (resulting in branch history completely different If you were going crazy like inserting random numbers, for example).
git filter-branch
is an lot powerful tool: it will make you completely arbitrary operation against each and the other allows for; Every file and commit in your history - and although this flexibility sounds appealing, it often works against you - you pay for it heavy in the execution time We do. So the question is - do you need that flexibility? Can you be more specific in your question about what you are trying to achieve?
, the choice of git filter-branch ...
According to the guit v1.9, this advice was included (clearly contributed by me, but guit mailing Listed by!):
git-filter-branch allows you to rewrite the complex shell-script in your GeT history, but you probably do not need this flexibility if You are simply removing unwanted data like big files or passwords for those operations. For those, you may want to consider G-65-based options GIT-filter-branch, usually with those at least 10-50x faster and significantly different features for those usage cases
BFG can work many things that are used for git filter-branch
- but it does that much more faster - because this memoanization , But also it is parallel to the cleaning work, it's multi -Cor allows to take full advantage of machines. These factors are alliances to make an execution time savings better than a 30% reduction, you might get parallel with the filter-branch
runs - in fact, decrease in run-time is often 98 %, 50x speed-up or up
, Google engineers working on Google Chrome:
I was able to downgrade the current repository ~ 500 megabytes in about 10 minutes while using this device till.
Everyone said that BFG could be a better tool to do this work.
P> Full disclosure: I am the author of the BFG Repo-Cleaner.
Comments
Post a Comment