GV

GeezerVison

The World Wide Web, restored to 800 pixels of glory.

Home|About|Gaming cabinet|Archives|How it works|Starter sites

On this site

  • Sign in
  • ActionsCI/CD and automation
  • CodespacesCloud development environments
  • All Features
  • Documentation
  • Training
  • Certifications
  • Build with Copilot
  • Customize Copilot
  • Integrations
  • Trending repos
  • GitHub Sponsors
  • Developer articles
  • Enterprises

This view

  • Original page
  • New address

GeezerVison is showing github.com — context hunk merging in diff · Issue #268 · uutils/diffutils

context hunk merging in diff #268

New issue
Copy link
New issue
Copy link
Closed
#306
Closed
context hunk merging in diff#268
#306
Copy link

Description

@WayneD
WayneD
opened on Aug 9, 2026
Issue body actions

In playing with diffutils in the uutils playground web page, I noticed that -U1 on the shopping files was outputting a second hunk that has no prior context line. The official diff utility joins hunks together when the context overlaps or even just abuts.

My test:

uutils $ diff shopping-old.txt shopping-new.txt -U1
--- shopping-old.txt    2026-08-09 03:43:13.212000000 +0000
+++ shopping-new.txt    2026-08-09 03:43:13.212000000 +0000
@@ -2,2 +2,3 @@
 eggs
+yogurt
 bread
@@ -4,2 +5,2 @@
-butter
+honey
 apples

As another test, I added another line of context between the chunks:

uutils $ sed shopping-old.txt >s1 -e 's/bread/bread\nrolls/'
uutils $ sed shopping-new.txt >s2 -e 's/bread/bread\nrolls/'

Now the 1-line context is present on hunk 2, but the normal diff util would join them together since they abut:

uutils $ diff s1 s2 -u1
--- s1  1970-01-01 00:00:00.000000000 +0000
+++ s2  1970-01-01 00:00:00.000000000 +0000
@@ -2,2 +2,3 @@
 eggs
+yogurt
 bread
@@ -4,3 +5,3 @@
 rolls
-butter
+honey
 apples

At this point -U2 has the missing context in the same manner as in the first example.

Activity

  1. sylvestre
    closed this as completedin #306on Oct 18, 2026
  2. sylvestre
    added a commit that references this issue on Oct 18, 2026

    diff: merge hunks separated by up to twice the context size

    This issue will close once commit 141e2d6 is merged into the 'main' branch.
    141e2d6
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions

      You are visitor 01402503 — GeezerVison does not store the pages you look up.
      Best viewed with Netscape Navigator 4.7 or Internet Explorer 6 at 800×600. No cookies required.