Skip to content
Snippets Groups Projects

COMP290 Repository

NOTE this is a living repo, not a template. You can use this as an upstream for pulling changes during the module. I will show you how to do this during sessions if needed.

Working with this repo

This is the activities for our sessions. It is operating system agnostic and using industry-standard tools, like cmake.

You will need:

  • A C++ compiler (Linux: G++/Clang will both work)
  • An IDE/Text editor (vim, visual studio, clion will all work)
  • A way to install C++ packages (vspkg, distrubtion repo)
  • A way to compile cmake projects (visual studio/cmake cli/clion)

Building on the cli

cmake -S . -B build BUILD_TYPE=Debug
cmake --build build
# executables will be in build and build/testing

Pulling from upstream

This repository can be treated as an upstream to your fork. This is a different workflow than you are probably used to (where you create a repository from a template, and never re-sync with the source). This workflow is more of a distrubted approach, and only really possible in a dvcs like git.

To include changes from the time you forked your version:

# add my repo as a remote called `upstream`
git remote add upstream https://github.falmouth.ac.uk/Games-Academy/comp290-repo.git

# to pull from my repo:
# ensure your local repo is clean (ie, no uncommited changes)
git fetch upstream
git merge upstream/main
# fix conflicts, etc... and push to your fork

Pull Requests Welcome

If you notice a problem with this repository, or would like to contribute changes you can do so. The work in this repository is not assessed. To make a pull request:

  1. make sure your working copy is clean (ie, no uncommited changes)
  2. Ensure that your copy of this remote is up to date (git fetch upstream)
  3. Create a new branch from a clean copy of my main in your fork (git checkout -b new_branch_name upstream/main)
  4. Make changes to your version of the repository and push to your branch
  5. Open a pull request to this repository (source branch: new_branch_name, target: main)
  6. Make changes as requested as part of the code review process
  7. Get merged into the repo (I do this step)