Hello, I have made some pull requests. I have just updated some readme files to markdown format. As far as I understand pull requests are a request to introduce/upload my changes to the Genode repository. This is my first time ever using/learning git, so I am not very familiar with how it works. I see that there are two branches in the genode repository, Master and Staging. Staging seems to be the most active branch where new changes are being introduced before an official release?
Is the master branch supposed to be a copy of the latest public release and is only updated every time a full public release is announced? Staging seems to be the active development branch. So I made my pull request to that branch. Although I am not sure which branch I am supposed to make pull requests to? The genode contributions page says to make pull requests to the master branch.
As a rule of thumb, every line of development should have a corresponding issue in the issue tracker. This will be the place where we will discuss your ongoing work. If there is no issue for your topic, please create one. Once there exists the issue with a short description about what your line of work is about, create a new topic branch based on the genodelabs/master branch.
Sorry, I believe I misread the Genode Contributors guide. Genode does not use pull requests, they copy commits that are referenced within issues? So I should make an issue in the repository, then reference my commit against it and genode will copy that into their repository?
Should I use the master branch for my development in this case and reference my commits to the issues from my master branch?
On Mon, 15 Jul 2024, at 14:38, Jack Curran wrote:
Hello, I have made some pull requests. I have just updated some readme files to markdown format. As far as I understand pull requests are a request to introduce/upload my changes to the Genode repository. This is my first time ever using/learning git, so I am not very familiar with how it works. I see that there are two branches in the genode repository, Master and Staging. Staging seems to be the most active branch where new changes are being introduced before an official release?
Is the master branch supposed to be a copy of the latest public release and is only updated every time a full public release is announced? Staging seems to be the active development branch. So I made my pull request to that branch. Although I am not sure which branch I am supposed to make pull requests to? The genode contributions page says to make pull requests to the master branch.
As a rule of thumb, every line of development should have a corresponding issue in the issue tracker. This will be the place where we will discuss your ongoing work. If there is no issue for your topic, please create one. Once there exists the issue with a short description about what your line of work is about, create a new topic branch based on the genodelabs/master branch.
users mailing list -- users@lists.genode.org To unsubscribe send an email to users-leave@lists.genode.org Archived at https://lists.genode.org/mailman3/hyperkitty/list/users@lists.genode.org/mes...
I'm curious about this too - looking at the github repo, it seems like there's a mix of pulls into staging and into master. The git flow section of https://genode.org/documentation/genode-foundations-24-05.pdf is a little ambigious - it mentions staging as being the place to put untested changes and then requests that topic branches be pulled from the most current genodelabs/master.
@Jack: I am in no way affiliated with the Genode team, so I don't claim to speak for them, but I think it is unlikely that they will choose to convert their README files to markdown as they are currently using a homebrew formatting tool https://github.com/nfeske/gosh which has a few more features including compiling to LaTeX.
I agree that the code formatting looks prettier on github fwiw
On Mon, Jul 15, 2024, at 6:52 AM, Jack Curran wrote:
Sorry, I believe I misread the Genode Contributors guide. Genode does not use pull requests, they copy commits that are referenced within issues? So I should make an issue in the repository, then reference my commit against it and genode will copy that into their repository?
Should I use the master branch for my development in this case and reference my commits to the issues from my master branch?
On Mon, 15 Jul 2024, at 14:38, Jack Curran wrote:
Hello, I have made some pull requests. I have just updated some readme files to markdown format. As far as I understand pull requests are a request to introduce/upload my changes to the Genode repository. This is my first time ever using/learning git, so I am not very familiar with how it works. I see that there are two branches in the genode repository, Master and Staging. Staging seems to be the most active branch where new changes are being introduced before an official release?
Is the master branch supposed to be a copy of the latest public release and is only updated every time a full public release is announced? Staging seems to be the active development branch. So I made my pull request to that branch. Although I am not sure which branch I am supposed to make pull requests to? The genode contributions page says to make pull requests to the master branch.
As a rule of thumb, every line of development should have a corresponding issue in the issue tracker. This will be the place where we will discuss your ongoing work. If there is no issue for your topic, please create one. Once there exists the issue with a short description about what your line of work is about, create a new topic branch based on the genodelabs/master branch.
users mailing list -- users@lists.genode.org To unsubscribe send an email to users-leave@lists.genode.org Archived at https://lists.genode.org/mailman3/hyperkitty/list/users@lists.genode.org/mes...
users mailing list -- users@lists.genode.org To unsubscribe send an email to users-leave@lists.genode.org Archived at https://lists.genode.org/mailman3/hyperkitty/list/users@lists.genode.org/mes...
Spencer wrote:
I'm curious about this too - looking at the github repo, it seems like there's a mix of pulls into staging and into master. The git flow section of https://genode.org/documentation/genode-foundations-24-05.pdf is a little ambigious - it mentions staging as being the place to put untested changes and then requests that topic branches be pulled from the most current genodelabs/master.
Yes, as an outsider I find it hard to follow how they are dealing with pull requests/commits/issues. Hopefully we can get some clarification as I would like to add my own contributions to the project soon, but I don't know how to do it correctly.
@Jack: I am in no way affiliated with the Genode team, so I don't claim to speak for them, but I think it is unlikely that they will choose to convert their README files to markdown as they are currently using a homebrew formatting tool https://github.com/nfeske/gosh which has a few more features including compiling to LaTeX. I agree that the code formatting looks prettier on github fwiw
Ah that makes a lot of sense! Thanks for letting me know. The README files did look like they had been written in some sort of syntax that I couldn't recognise. Github rendered them as plain text so I presumed it was just plain text with no actual file type. I will download Gosh and try it out on the genode repository to see how the pages look.
It would also make sense since I believe the Genode foundations book and the other books are written in LaTeX and PDF format, so the other documentation like the readme files would also be written in the same format.
Although, I have noticed that they do use README.md files in some of other other Genode Labs repositories. So maybe they do use also use markdown. Although it does just seem to be the main front page README.md file in the repository, which looks nicer on the Github web page.
https://github.com/genodelabs/genode-rpi/blob/master/README.md https://github.com/genodelabs/genode-imx/blob/master/README.md
Hello Jack,
On Mon, Jul 15, 2024 at 23:32:57 CEST, Jack Curran wrote:
Although, I have noticed that they do use README.md files in some of other other Genode Labs repositories. So maybe they do use also use markdown. Although it does just seem to be the main front page README.md file in the repository, which looks nicer on the Github web page.
https://github.com/genodelabs/genode-rpi/blob/master/README.md https://github.com/genodelabs/genode-imx/blob/master/README.md
AFAICS those are just differently named GOSH files to trick GitHub. Generally, we don't use MarkDown at any place currently.
Regards
Hello,
in the following I try to address some points you mentioned according to our development workflow.
Jack Curran wrote:
Is the master branch supposed to be a copy of the latest public release and is only updated every time a full public release is announced? Staging seems to be the active development branch. So I made my pull request to that branch. Although I am not sure which branch I am supposed to make pull requests to? The genode contributions page says to make pull requests to the master branch.
As a rule of thumb, every line of development should have a corresponding issue in the issue tracker. This will be the place where we will discuss your ongoing work. If there is no issue for your topic, please create one. Once there exists the issue with a short description about what your line of work is about, create a new topic branch based on the genodelabs/master branch.
The master branch is where we master the Genode history after successful quality testing. From the Foundations [1]: "this branch is fixed and will never change". The mastering process is manual work that is based on a carefully selected state of the staging branch and happens when time has come. Genode releases are the result of special quarterly mastering processes and, thus, just one point in the Genode commit history on master. The staging branch is our workbench for merging fixes and other contributions. It is a harsh environment and things may break while the branch is progressing. The staging history is not fixed and may change at any time without warning up to the last branch point from master. The mastering process involves updating staging to the master state (by force-push!).
Jack Curran wrote:
Should I use the master branch for my development in this case and reference my commits to the issues from my master branch?
In 99 percent of the cases: Yes, definitely. Only stray from path if you know the ramifications and aren't afraid of manual rebasing. The merge of your contribution may involve a final rebase onto staging (which is much easier than working on staging for weeks with regular updates).
Jack Curran wrote:
Sorry, I believe I misread the Genode Contributors guide. Genode does not use pull requests, they copy commits that are referenced within issues? So I should make an issue in the repository, then reference my commit against it and genode will copy that into their repository?
In general pull requests and issues only have slight differences on GitHub as we use its features. The before mentioned work of merging to the staging branch and mastering the master branch is a manual step-by-step process that leaves no room for automatic rebasing and stuff. The vast majority of contributions requires discussions and code fixups. So, if you like to contribute chose issue or pull requests as you like (but never both in parallel for the same topic). The core team will respond the way that fits our workflow best: comments, reviews, suggestions for changes inside the commit pages.
Spencer wrote:
I'm curious about this too - looking at the github repo, it seems like there's a mix of pulls into staging and into master. The git flow section of https://genode.org/documentation/genode-foundations-24-05.pdf is a little ambigious - it mentions staging as being the place to put untested changes and then requests that topic branches be pulled from the most current genodelabs/master.
I hope I addressed the ambiguity in my description above.
[1] https://genode.org/documentation/genode-foundations/24.05/development/Git_fl...
Best regards