R=r
CC=golang-dev
https://golang.org/cl/194094
p.Diff = diff
break
}
- if hasPrefix(l, "index ") || hasPrefix(l, "GIT binary patch") {
+ if hasPrefix(l, "GIT binary patch") || (hasPrefix(l, "index ") && !hasPrefix(raw, "--- ")) {
diff, err := ParseGitBinary(oldraw)
if err != nil {
return nil, err
p.Diff = diff
break
}
+ if hasPrefix(l, "index ") {
+ continue
+ }
return nil, SyntaxError("unexpected patch header line: " + string(l))
}
if p.Diff == nil {
"-hello, world\n" +
"+goodbye, world\n",
},
+ Test{
+ "hello, world\n",
+ "goodbye, world\n",
+ "Index: a\n" +
+ "index cb34d9b1743b7c410fa750be8a58eb355987110b..0a01764bc1b2fd29da317f72208f462ad342400f\n" +
+ "--- a/a\n" +
+ "+++ b/b\n" +
+ "@@ -1 +1 @@\n" +
+ "-hello, world\n" +
+ "+goodbye, world\n",
+ },
Test{
"hello, world\n",
"goodbye, world\n",