keeping our plugins updated - ciemat-tic/codec GitHub Wiki
Basic idea:
- clone Slurm repo.
- create some branches on this clone for different stuff.
- from time to time, check whether there is any change on official Slurm repo. If so, update our local copy. Then, apply the changes we made on the branches to the official one.
How to do this
- (only first time) create a 'pointer' to official Slurm
git remote add upstream https://github.com/SchedMD/slurm.git
from now on, "upstream/master" points to the latest version of official Slurm
- download data
git fetch upstream
- list local branches
git granch
- go to the branch we want to update
git checkout DMTCP
- merge with latest Slurm
git merge upstream/master
- if merge didn't succeed automatically, files need to be manually merged. Format is as follows.
<<<<<<< HEAD
things present on my local branch
=======
things present on latest slurm
>>>>>>> upstream/master
think about what is needed, and manually edit the file so it contains the desired code.
- as we want to have "migration" branch with DMTCP support, repeat the same process with this branch.
git checkout migration
git merge upstream/master
- Slurm has some flags for internal use. These flags have a unique ID. As new flags are added, chances are that this ID and the one created for migration collide. Check it!
#more slurm/slurm.h.in
#define MIGRATION_TEST 0x00020000 /* Backfill test in progress */
#define DEBUG_FLAG_MIGRATION 0x0004000000000000 /* Migration debug */
#define DEBUG_FLAG_MIGRATION_MAP 0x0008000000000000 /* Migration debug */