# 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: 1) ideally, this is done when work and wip match 1) make copies of branches master, work and wip 2) pull changes from mlz repo to from-mlz branch: git checkout from-mlz; git pull 3) copy to from-mlz to mlz branch: git checkout mlz; git pull; git checkout from-mlz; git checkout -B mlz; git push 4) cherry-pick commits (from mlz) to master (git checkout master; git pull before) 5) 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)? 6) in work: cherry-pick commits not yet feeded into Gerrit from copy in step (1) 7) git checkout -B wip 8) if wip and work did not match: cherry pick changes from wip copy to wip or merge 8) delete branch copies not needed any more ## Procedure to update PPMS 1) git checkout wip (or work, whatever state to copy to ppms) 2) git checkout -B ppms # local branch ? 3) 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 ...