On Mon, Nov 21, 2016 at 8:56 AM, Jacob Keller <jacob.kel...@gmail.com> wrote: > On Mon, Nov 21, 2016 at 12:11 AM, KES <kes-...@yandex.ru> wrote: >> Hi. >> > > Hi, > >> I have some question about how diff works then give proposal: >> >> it will be very useful for each "symbol" store additional meta info as >> source line length. So in this case when git counter two equal sequence of >> commands it will do further comparison: Adds 23 chars deletes none VS adds >> 75 chars deletes 46 >> >> Actually I got this: >> >> @@ -129,8 +132,9 @@ sub _preprocess_message { >> sub _process_message { >> my ($self, $message) = @_; >> >> - my $method = ref($message) eq 'HASH' ? $message->{method} : undef; >> + my $time = [ gettimeofday ]; >> >> + my $method = ref($message) eq 'HASH' ? $message->{method} : undef; >> return $self->send_error(ERROR_REQUEST_INVALID) >> unless defined($method); >> >> Instead of expected: >> @@ -129,6 +132,8 @@ sub _preprocess_message { >> sub _process_message { >> my ($self, $message) = @_; >> >> + my $time = [ gettimeofday ]; >> + >> my $method = ref($message) eq 'HASH' ? $message->{method} : undef; >> - >> return $self->send_error(ERROR_REQUEST_INVALID) >> > > Have you tried the various options for git to search for smaller > diffs? Or using the other diff algorithms such as histogram instead of > patience? >
The newest version of Git comes with a flag to move around the diff better, based on the work at https://github.com/mhagger/diff-slider-tools