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)