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

Re: [PATCH] xdiff: improve trimming preprocessing

From
JWJun Wu <quark@fb.com>
Date
Mar 6, 2018, 23:05 UTC
Message-ID
<1520370729-sup-3241@x1c>
In-Reply-To
<CAPig+cRYsf161-Xomw7daj8XdEBxZAEQQRdOn4krRTpSAFkPOw@mail.gmail.com>
Excerpts from Eric Sunshine's message of 2018-03-06 14:23:46 -0500:
> On Tue, Mar 6, 2018 at 6:53 AM, Jun Wu <quark@fb.com> wrote:
> > +  printf "x%.0s" {1..934} >>d # pad common suffix to 1024 bytes
> 
> The expression {x..y} is not portable to non-POSIX shells.

Is there a recommended way to generate a repetitive string? Maybe `seq 1000 | sed 's/.*/x/'` ?

Show 5 quoted lines
> > +    fgrep "@@ -1001 +1000,0 @@"
> > +'
> 
> Style: Mix of tabs and spaces for indentation. Please indent only with
> tabs throughout the patch.
Sorry. Will fix in V2.
 
Show 6 quoted lines
> > +       /* prefix - need line count for xecfg->ptrimmed */
> > +       for (i = 0; ++i < smaller && *ap == *bp;) {
> > +               lines += (*ap == '\n');
> > +               ap++, bp++;
> 
> Is there a good reason for not placing 'ap++, bp++' directly in the 'for'?
"lines += (*ap == '\n');" needs the "ap" before adding. Alternatives are
    for (i = 0; ++i < smaller && *ap == *bp; ) /* 1 */
        lines += (*ap++, *bp++) == '\n';
    for (i = 0; ++i < smaller && *ap == *bp; ap++, bp++) /* 2 */
        lines += (*(ap - 1) == '\n');
Maybe will pick /* 1 */ to make the code shorter.
Previous: Jun WuNext: Eric Sunshine
Message 5 of 7 in “xdiff: improve trimming preprocessing”
  1. xdiff: improve trimming preprocessingJun Wu, Mar 6, 2018
  2. Eric SunshineMar 6, 2018
  3. Junio C HamanoMar 6, 2018
  4. Jun WuMar 6, 2018
  5. Jun WuMar 6, 2018
  6. Eric SunshineMar 7, 2018
  7. René ScharfeMar 7, 2018

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.