go-gitdiff icon indicating copy to clipboard operation
go-gitdiff copied to clipboard

Add validation for parsed files

Open bluekeyes opened this issue 4 years ago • 0 comments

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 but OldName and NewName are equal/not equal
  • IsDelete or IsNew is true but there is more than one fragment
  • IsDelete is true but the single fragment has context or addition lines or NewPosition and NewLines are not 0
  • IsNew is true but the single fragment has context or deletion lines or OldPosition and OldLines are not 0
  • IsBinary is true but TextFragments is not empty

bluekeyes avatar May 04 '20 04:05 bluekeyes