Github contains multiple tools that allow you to switch seamlessly between code versions, track changes, and collaborate efficiently. Initially it can be confusing, but it's OK!
The master branch contains stable, always deployable code, but it is often outdated.
We follow the Github worflow with the development branch as the main.
It is recommended to use the development branch as a starting point, which contains the latest bugfixes and features.
However, some features are experimental and not yet thoroughly tested.
Your workflow may look as follows: 0. Fork the repository.
- Check out the
developmentbranch and see if it works on your mesoSPIM setup. - Create a local branch from
development(e.g.dev-my-feature), and start experimenting with the code. - Once you are satisfied with your new feature, create a pull request back to the
developmentbranch, we will review and merge it. Small bugfixes can be pull-requested directly from your forkeddevelopmentbranch, without creating a new branch. This simplifies the workflow. - After your commits were merged into
development, the code is stable, and you are done withmy-featurebranch, don't forget to delete it. This will keep things tidy.
Stable releases from development will be merged into master once every few months.
If you find a bug or unexpected behavior, please report an issue! We will try to fix it or find another solution.
Because mesoSPIM is a complex hardware-software system in active use and often individually customized, it is quite difficult to run good tests that cover your and other systems. So, be careful! Test the code on your system, ideally in acquisition experiment that saves the "data" (with or without a sample), and then let us test it on our systems.
It is a good habit to write simple unit tests before you implement a feature (so-called test-driven development, TDD), this helps immensely in debugging.
If you have an idea or feature request that can significantly improve mesosPIM user experience - share it in Discussions. We can implement it!
Any contribution is welcome, and tinkering with mesoSPIM is fun. So, enjoy it wth us!