Screen Version
School of Computer Science & Engineering
University of New South Wales

 Advanced Operating Systems 
 COMP9242 2018/S2 

Milestone Submission Overview

Your milestones are marked based on your submissions to give. Specifically, you will be submitting a diff generated by git for each milestone. Take the time to understand these instructions to ensure that what you submit is what you want assessed.

Commit everything you wish assessed

Before generating a diff and submitting, you should ensure you have committed all files that you wish to be part of your submission. Ensure that a git status does not show untracked files that you have added or modified that should be part of your submission.

Additionally you should ensure any CMake configuration variables you have added or changed have default settings in the CMakeLists.txt. To test this, create a fresh build directory and check that the project compiles and runs as expected without invoking cmake. An example of how to do this follows:

mkdir submission-test-build
cd submission-test-build

Generating a diff

All diffs produced for submission need to be based off the original commit in the aos-YYYY repository. This commit has been tagged AOSYYYY (e.g. AOS2015). Even if we push out additional commits that you merge into your code base, you should still generate your submission diff from the AOSYYYY tag.

To actually generate the diff use the follow example:

git diff AOSYYYY > milestone.diff
This assumes you have the commit you want to submit currently checked out as HEAD. You probably want to tag the revision you submit and do something like
git tag -a M0
git diff AOSYYYY M0 > m0.diff

Submitting your diff

To submit your diff, execute an appropriate variation of

give cs9242 m0 m0.diff

The submission process will test your diff by applying it to the initial release and compiling the result. If for some reason your submission fails the submission test, here are the sequence of step it performs so that you can recreate them in a temporary directory in order to debug your submission.

echo 'Checking out original source tree...'
git clone ~cs9242/public_git/aos-YYYY

cd aos-YYYY

echo 'Checking out AOSYYYY tag...'
git checkout -b dryrun AOSYYYY

echo "Applying diff $DIFF..."
git apply --index "../$DIFF"

echo "Setting up build dir..."
mkdir build
cd build
echo "Compiling..."

Last modified: 19 Jul 2018.