Re: filter-branch performance

2014-12-10 Thread Roberto Tyley
On 9 December 2014 at 18:59, Jeff King p...@peff.net wrote: On Tue, Dec 09, 2014 at 07:52:33PM +0100, Henning Moll wrote: I assume that there is a lot of process forking going on. Could that be the cause? Yes. filter-branch is a shell scripts, and it is probably running multiple git commands

Re: filter-branch performance

2014-12-10 Thread Jeff King
On Wed, Dec 10, 2014 at 02:18:24PM +, Roberto Tyley wrote: Depending on how much time you can sink into improving the performance (versus just allowing the process to run to completion), you could also look into a non-forking solution, as well as not bothering to load the commit trees. To

Re: filter-branch performance

2014-12-10 Thread Roberto Tyley
On 10 December 2014 at 14:37, Jeff King p...@peff.net wrote: On Wed, Dec 10, 2014 at 02:18:24PM +, Roberto Tyley wrote: object SetCommitterToAuthor extends CommitNodeCleaner { override def fixer(kit: CommitNodeCleaner.Kit) = c = c.copy(committer = c.author) // PersonIdent class holds

Re: filter-branch performance

2014-12-10 Thread Junio C Hamano
Roberto Tyley roberto.ty...@gmail.com writes: The BFG is generally faster than filter-branch for 3 reasons: 1. No forking - everything stays in the JVM process 2. Embarrassingly parallel algorithm makes good use of multi-core machines 3. Memoization means no Git object (file or folder) is

Re: filter-branch performance

2014-12-10 Thread Roberto Tyley
On 10 December 2014 at 16:05, Junio C Hamano gits...@pobox.com wrote: Roberto Tyley roberto.ty...@gmail.com writes: The BFG is generally faster than filter-branch for 3 reasons: 1. No forking - everything stays in the JVM process 2. Embarrassingly parallel algorithm makes good use of

Re: filter-branch performance

2014-12-09 Thread Jeff King
On Tue, Dec 09, 2014 at 07:52:33PM +0100, Henning Moll wrote: i am runningthis command git filter-branch --env-filter 'export GIT_COMMITTER_EMAIL=$GIT_AUTHOR_EMAIL GIT_COMMITTER_NAME=$GIT_AUTHOR_NAME GIT_COMMITTER_DATE=$GIT_AUTHOR_DATE' --prune-empty --tag-name-filter cat -- --all in a