diff --git a/README.md b/README.md index 0cf196f..19aae1f 100644 --- a/README.md +++ b/README.md @@ -7,14 +7,16 @@ through the Gerrit workflow at MLZ branches: -- from-mlz: master from forge.frm2.tum.de:29418/sine2020/secop/playground +- 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 +- master: the last synced state between mlz and wip/work, except an added README.md (this does NOT contain local repo files only, however, all common files work/mlz should match) +- core: the modifications of the core frappy parts (to be going through gerrit) - 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 + IMPORTANT: make commits containing either only files to be pushed to Gerrit or only + PSI internal files, not mixed. Mark local commits with '[PSI]' in the commit message. master --> mlz # these branches match after a sync step, but they might have a different history @@ -28,22 +30,24 @@ where sha1 is the last commit already in wip, and sha2 ist the last commit to be (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 +where commits may be cherry picked for input to Gerrit. As generally in the review process some additional 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'. +2) make sure branches mlz, master, wip and work are in syns with remote, push/pull otherwise +3) cherry-pick commits from mlz to master +4) make sure master and mlz branches match (git diff --name-only master..wip should only return README.md) +5) create branch new_work from master +6) go through commits in wip and sort out: + - core commits already pushed through gerrit are skipped + - all other commits are to be cherry-picked +7) when arrived at the point where the new working version should be, + copy new_wip 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 +8) continue with (6) if wip and work should differ, and do like (7) for wip branch +9) delete new_wip branch, push master, wip and work branches ## Procedure to update PPMS