Skip to content

Instructions for adding and maintaining subtrees

Alice Bertini edited this page Feb 7, 2018 · 1 revision

The CESM_postprocessing suite rely on a number of external packages in addition to the system boot-strap dependency packages. These additional packages are integrated as git subtrees. Here are some notes for add and updating the subtrees:

1310  14:26   module load git git-svn
1319  14:28   git svn clone https://svn-ccsm-models.cgd.ucar.edu/postprocessing/trunk CESM_postprocessing
1323  14:35   git remote add origin git@github.com:NCAR/CESM_postprocessing.git
1324  14:35   git remote --v
1325  14:35   git branch --list
1326  14:35   git push -u origin master
1327  14:45   git remote add -f ASAPPyTools https://github.com/NCAR/ASAPPyTools
1328  14:45   git subtree add --squash --prefix=mpi_utils/pyTools ASAPPyTools v0.5.5
1329  14:46   git remote add -f PyReshaper https://github.com/NCAR/PyReshaper
1330  14:46   git subtree add --squash --prefix=reshaper/pyReshaper PyReshaper v0.9.10
1331  14:46   git remote add -f PyAverager https://github.com/NCAR/pyAverager
1332  14:47   git subtree add --squash --prefix averager/pyAverager PyAverager v0.9.10
1354  19:38   git remote add -f PyConform https://github.com/NCAR/PyConform
1359  19:39   git subtree pull --squash --prefix=conformer/conformer PyConform PyConform-0.2.3
1348  14:49   git add atm_diag ice_diag lnd_diag ocn_diag

And to update the subtrees

git subtree pull --squash --prefix=mpi_utils/pyTools ASAPPyTools v0.6.0
git subtree pull --squash --prefix=reshaper/pyReshaper PyReshaper v1.0.0

The PyReshaper changed the version names so most recent update is:

git subtree pull --squash --prefix=reshaper/pyReshaper PyReshaper PyReshaper-1.0.4

For the ILAMB tool, we’re currently (10/5/2017) working from a master commit so need to pull in a hash commit reference rather than a tag

Previously, added remote and subtree for tag v2.1

git remote add -f ILAMB https://bitbucket.org/ncollier/ilamb.git
git subtree pull --squash --prefix ilamb/ilamb ILAMB v2.1

To update the ILAMB subtree to a master commit to test prior to the next tag release, go to https://bitbucket.org/ncollier/ilamb.git and look for the latest commit hash. This is after talking to Nate Collier and he verified that the master is stable.

git remote rm ILAMB
git remote add ILAMB https://bitbucket.org/ncollier/ilamb
git subtree pull --squash --prefix ilamb/ilamb ILAMB master

Use sourcetree or

git log --graph --oneline

to see the commit history and merges.