Fix changes to lines starting with '-- ' with git-svn and git-p4.

Review Request #6829 — Created Jan. 23, 2015 and submitted

Information

RBTools
release-0.6.x
56cdd89...

Reviewers

When we are using git-svn or git-p4, we post-process the diff to change it from
something that looks like a git diff to something that looks like a subversion
diff or perforce diff.

This works most of the time, but our handling of the index lines had some
unintended consequences. If the file in question had a change to a line
starting with two hyphens and a space ('-- '), then the unified diff will
represent that as '--- old text / '+-- new text'. Since we only looked for
'--- filename' when scanning for file headers, we'd modify these lines that
were actually content, and the patch would fail to apply. I've changed this to
make sure that we only munge a line starting with '--- ' if the line after it
starts with '+++ '.

It's still possible to break this by changing a single line from '-- ...' to
'++ ...' but that should hopefully be a vanishingly small case, and I suspect
it will also break every other tool that handles diff files.

Manually tested git-svn and git-p4 cases. We don't have any unit tests for
these setups. Ran existing unit tests.

reviewbot
  1. Tool: Pyflakes
    Processed Files:
        rbtools/clients/git.py
    
    
    
    Tool: PEP8 Style Checker
    Processed Files:
        rbtools/clients/git.py
    
    
  2. 
      
brennie
  1. Ship It!
  2. 
      
david
Review request changed
Status:
Completed
Change Summary:
Pushed to release-0.6.x (c0faa66)