# DiffWithSkeleton Compare the all submission file contents against that of `skeleton`'s file contents, to see if student has possibly uploaded the wrong submission. ## Config ``` diffWithSkeleton: exclude_from_provided: Boolean? # whether to exclude `provided` files from diff operation. if not specified, defaults to the value provided to `_settings.use_provided`. # for instance, if a file exists in both the student submission and the TA provided # files, setting this field to `true` will not report ``` ### Behavior of `exclude_from_provided` Suppose `a.txt` is a TA-provided file, and the same file resides within the student's submission. - If `exclude_from_provided` is set to `true`, `a.txt` will be ignored by this stage and therefore will not be reported as a skeleton file that is accidentally submitted within the student submission. This behavior is preferable in most cases as the inclusion of these files in the student submission generally does not affect the correctness of the grading. - If `exclude_from_provided` is set to `false`, `a.txt` will be checked by this stage and therefore will be reported as a skeleton file that is accidentally submitted within the student submission. This behavior may be desirable if the files in the student submission should strictly not contain other files. ## Report ``` diffWithSkeleton: - isUnchanged: Boolean # whether the submission is unchanged from the skeleton, an indication that the wrong submission was uploaded. identicalFiles: [String] # list of files that are exactly the same as those in skeleton, meaning that those files remain unchanged (i.e. when this is the full submission list, then this submission is unchanged from skeleton) ```