Skip to content
  • Kyle Lippincott's avatar
    patch: handle 0 context lines (diff.unified=0) when parsing patches · d1d3094b54f9
    Kyle Lippincott authored
    Previously, if there were no context lines, we would just keep updating the
    ranges and the hunk, but not actually storing the hunk (just overwriting it each
    time).  Thus a diff like this:
    
        $ hg diff --config diff.unified=0
        diff --git a/bar b/bar
        --- a/bar
        +++ b/bar
        @@ -1,0 +2,1 @@ 1
        +change1
        @@ -3,0 +5,1 @@ 3
        +change2
    
    would come out of the parser like this (change1 is lost):
    
        bar:
        @@ -3,0 +5,1 @@ 3
        +change2
    
    This had some really weird side effects for things like commit --interactive,
    split, etc.
    
    Differential Revision: https://phab.mercurial-scm.org/D5743
    d1d3094b54f9