Frappy Framework
current running code at SINQ, with newest changes not yet pushed through the Gerrit workflow at MLZ
Branches
branches:
- from-mlz: master from forge.frm2.tum.de:29418/sine2020/secop/playground this is not present at git.psi.ch:sinqdev/frappy.git!
- mlz: keep in sync with from-mlz before pushing (origin git.psi.ch:sinqdev/frappy.git)
- master: the last synced state between mlz and wip/work (this does NOT contain local repo files only, however, all common files work/mlz should match)
- work: current working version, usually in use on /home/l_samenv/frappy (and on neutron instruments) this should be a copy of an earlier state of the wip branch
- wip: current test version, usually in use on /home/l_samenv/frappy_wip
master --> mlz # these branches match after a sync step, but they might have a different history master --> work --> wip
apply commits from mlz to master: (rebase ?) or use cherry-pick:
git cherry-pick ..
where sha1 is the last commit already in wip, and sha2 ist the last commit to be applied (for a single commit .. may be omitted)
the wip branch is also present in an other directory (currently zolliker/switchdrive/gitmlz/frappy), where commits may be cherry picked for input to Gerrit. As generally in the review process some additonal changes are done, eventually a sync step should happen:
- ideally, this is done when work and wip match
- make copies of branches master, work and wip
- pull changes from mlz repo to from-mlz branch: git checkout from-mlz; git pull
- copy to from-mlz to mlz branch: git checkout mlz; git pull; git checkout from-mlz; git checkout -B mlz; git push
- cherry-pick commits (from mlz) to master (git checkout master; git pull before)
- copy master branch to work with 'git checkout -B work'. Not sure if this works, as work is to be pushed to git.psi.ch. We might first remove the remote branch with 'git push origin --delete work'. And then create again (git push origin work)?
- in work: cherry-pick commits not yet feeded into Gerrit from copy in step (1)
- git checkout -B wip
- if wip and work did not match: cherry pick changes from wip copy to wip or merge
- delete branch copies not needed any more
Procedure to update PPMS
-
git checkout wip (or work, whatever state to copy to ppms)
-
git checkout -B ppms # local branch ?
-
assume PPMSData is mounted on /Volumes/PPMSData
cp -r secop_psi /Volumes/PPMSData/zolliker/frappy/secop_psi cp -r secop /Volumes/PPMSData/zolliker/frappy/secop
it may be that additional folder have to copied ...