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:
-
IsRenameis true/false butOldNameandNewNameare equal/not equal -
IsDeleteorIsNewis true but there is more than one fragment -
IsDeleteis true but the single fragment has context or addition lines orNewPositionandNewLinesare not 0 -
IsNewis true but the single fragment has context or deletion lines orOldPositionandOldLinesare not 0 -
IsBinaryis true butTextFragmentsis not empty