Fix git parser assuming header presence and order.

Review Request #7263 — Created April 29, 2015 and submitted — Latest diff uploaded

Information

Review Board
release-2.0.x
0bcd91a...

Reviewers

The git diff format does not specify the order of extended headers or
that certain headers must appear with others. We were assuming some
ordering and header dependencies that while true in the git case are
not true for git diffs generated by mercurial.

We now parse all of the headers at once ignoring order and then act on
them after the header parsing is complete. The GitDiffParser should
now properly parse a mercurial generated git diff.

Unit tests pass, hg git diff parses.