git/list[1] front-page[2] threads[3] people[4] search[5] about
 

Re: Feature request: Reduce amount of diff in patch

From
Stefan Beller <sbeller@google.com>
Date
Dec 7, 2017, 20:13 UTC
Message-ID
<CAGZ79kZt7hysp9Yzj8==nz9FAu3V4KduG9kH2KxhdEK5CTBiqA@mail.gmail.com>
In-Reply-To
<372261511885370@web21o.yandex.ru>
On Tue, Nov 28, 2017 at 8:09 AM, KES <kes-kes@yandex.ru> wrote:
Show 34 quoted lines
> Hi.
>
> I get often patches which can be minimized:
>
> @@ -60,11 +64,8 @@ sub _get_filter {
>          address    =>  { -like => \[ '?',  "%$search%" ] },
>          company    =>  { -like => \[ '?',  "%$search%" ] },
>          country_code =>  { '=' => \[ 'UPPER(?)' => $search ] },
> -    ]);
>
> -    $users =  $users->search( $filter, {
> -        prefetch => { Packages => { Ips => { Subnet => { Server => 'Locality' }}}},
> -    });
> +    ]);
>
>
>      return $users;
>
> This patch can be minimized to:
>
> @@ -60,11 +64,8 @@ sub _get_filter {
>          address    =>  { -like => \[ '?',  "%$search%" ] },
>          company    =>  { -like => \[ '?',  "%$search%" ] },
>          country_code =>  { '=' => \[ 'UPPER(?)' => $search ] },
>      ]);
>
> -    $users =  $users->search( $filter, {
> -        prefetch => { Packages => { Ips => { Subnet => { Server => 'Locality' }}}},
> -    });
>
>
>      return $users;
>
> May you please fix the git to generate minimized patches?
You can use a different diff algorithm.
       --diff-algorithm={patience|minimal|histogram|myers}
           Choose a diff algorithm. The variants are as follows:
           default, myers
               The basic greedy diff algorithm. Currently, this is the
               default.
           minimal
               Spend extra time to make sure the smallest possible diff is
               produced.
           patience
               Use "patience diff" algorithm when generating patches.
           histogram
               This algorithm extends the patience algorithm to "support
               low-occurrence common elements".
           For instance, if you configured diff.algorithm variable to a
           non-default value and want to use the default one, then you have to
           use --diff-algorithm=default option.

Soon we'll have another diff algorithm "anchor" that tries to keep a given line out of the +/- but rather move other lines around the line to give equal results.

Previous: Kaartic SivaraamNext: Junio C Hamano
Message 3 of 4 in “Feature request: Reduce amount of diff in patch”
  1. KESNov 28, 2017
  2. Kaartic SivaraamNov 28, 2017
  3. Stefan BellerDec 7, 2017
  4. Junio C HamanoDec 7, 2017

Read the whole thread, see it on lore, or plain text.

$ cat FOOTERMessages come from the public archive at lore.kernel.org/git, fetched every hour. The front page is chosen and written each morning by an AI editor and can be wrong; the threads themselves are the record. About and API. For agents: an MCP server at https://gitlist.dev/mcp, and any thread, story or person page as Markdown by adding .md to its URL (or sending Accept: text/markdown). Details in /llms.txt.