Your milestones are marked based on your submissions to give via 9242 git_submit. Take the time to understand these instructions to ensure that what you submit is what you want assessed.
Commit and push 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 ../init-build.sh ninja
You must then make sure you have pushed your code to the repository on
gitlab. When you submit, the latest code from the master
branch is copied into the submission.
Remember that there is a git repository for milestone 0 and as well as a git repository for the group submissions of milestones 1 to 7.
Make sure you push to the following repository for milestone 0 as it is the one that is used when you make a submission for that milestone.
https://gitlab.cse.unsw.edu.au/COMP9242/21T2/{your-zid}-m0
Make sure you push to the following repository for group submissions of milestones 1 to 7 as it is the one that is used when you make a submission for any of those milestones.
https://gitlab.cse.unsw.edu.au/COMP9242/21T2/group-{group-number}
Submitting for a milestone
Get the commit hash of master
In order to ensure that the correct code is being submitted when you
make a submission, you must first find out the commit hash of
the commit you wish to submit. The git_submit tool will
take the latest commit on the master
branch when making a
submission and check its commit hash against the one you
provide.
To get the commit hash for the latest commit in your clone of the repository, simply execute the following command from within the repository.
git rev-parse HEAD
This will display a 40 character hash that identifies that commit.
Making a submission
In order to submit, you will need to be logged into a CSE computer either directly, via VLAB, or via SSH. From that machine, enter the following command to create a submission for a milestone using the commit hash from your local copy.
9242 git_submit {milestone} {commit-hash}
This will:
- create a clone of your repository on the CSE machine,
- check that the provided hash matches the repository that was cloned,
- build the code in the repository,
- push a tagged commit back to the repository with the build log and build result, and
- submit, via give, a log of the commit submitted (and a copy of the repository data for milestones 0 and 7).
If you have SSH keys set up in Gitlab to allow access from your CSE account, you can add the -s option to use SSH to access Gitlab so that you don't have to authenticate with your username and password.
If you wish to submit a branch other than master
, you can
use the -b option to select the branch you wish to submit.
Submitting the final documentation
The final documentation must be submitted separately via give.give cs9242 m7doc m7.pdf
Demonstrating a milestone
When demonstrating a milestone you will need to check out the exact version of the code that you submitted. Before doing this you should make sure you have a local copy of all of the tags created by the git_submit tool.
Run the following command from within your git repository.
git fetch --tags
The tutor will then tell you which commit to check out and demonstrate using the following command.
git checkout {commit-hash}