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