go-gitdiff
go-gitdiff copied to clipboard
Add validation for parsed files
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 equal -
IsDelete
orIsNew
is true but there is more than one fragment -
IsDelete
is true but the single fragment has context or addition lines orNewPosition
andNewLines
are not 0 -
IsNew
is true but the single fragment has context or deletion lines orOldPosition
andOldLines
are not 0 -
IsBinary
is true butTextFragments
is not empty