Merge branch 'wip' into develop

Change-Id: Ib5084b8750b31523819c688f4954c52cef4d4a0c
This commit is contained in:
2023-05-31 14:06:05 +02:00
167 changed files with 15251 additions and 188 deletions

View File

@@ -1,33 +1,62 @@
Frappy: Framework for programming secnodes in Python
====================================================
# Frappy Framework
Frappy is a Python-framework for writing [SECoP](https://github.com/SampleEnvironment/SECoP) servers (called SECNodes or Nodes) and Clients.
It comes with its own Graphical client and a collection of example Nodes.
It is able to use TCP and Serial connections.
current running code at SINQ, with newest changes not yet pushed
through the Gerrit workflow at MLZ
To get started, look at the provided demo, the provided examples, or have a look
at the INTRODUCTION section.
## Branches
Main development is done
[here](https://forge.frm2.tum.de/review/q/project:secop%252Ffrappy)
and a readonly GitHub-mirror for easier access is available
[here](https://github.com/SampleEnvironment/frappy).
branches:
Requirements
------------
- mlz: master from forge.frm2.tum.de:29418/sine2020/secop/playground
this is not present at git.psi.ch:sinqdev/frappy.git!
- 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.
See `requirements.txt`.
Demo
----
master --> mlz # these branches match after a sync step, but they might have a different history
master --> work --> wip
Use the following command after installing the dependencies:
apply commits from mlz to master: (rebase ?) or use cherry-pick:
```
$ make demo
```
git cherry-pick <sha1>..<sha2>
Documentation
-------------
where sha1 is the last commit already in wip, and sha2 ist the last commit to be applied
(for a single commit <sha1>.. may be omitted)
[See here for documentation of Frappy](https://forge.frm2.tum.de/public/doc/frappy/html/)
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 additional
changes are done, eventually a sync step should happen:
1) ideally, this is done when work and wip match
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)?
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
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 ...