Open
Description
If a patch is malformed or a File
is created directly, various fields may disagree. Add a validate function that checks for these types of issues so clients (e.g. appliers) can rely on the content of the fields.
Some of the issues to check:
IsRename
is true/false butOldName
andNewName
are equal/not equalIsDelete
orIsNew
is true but there is more than one fragmentIsDelete
is true but the single fragment has context or addition lines orNewPosition
andNewLines
are not 0IsNew
is true but the single fragment has context or deletion lines orOldPosition
andOldLines
are not 0IsBinary
is true butTextFragments
is not empty