Conversation
@hamishwillee Could you review to make sure it make some sense. And also from the point of "Developers writing documentation" who have a hard time putting multiple sentences together. @dakejahl Could you review with respect to the discussions we've been having. This tries to write up what we talked about. |
|
||
QGC uses semantic version for the version numbers associated with its releases. | ||
Semantic versioning is a 3-component number in the format of `vX.Y.Z`, where: | ||
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@DonLakeFlyer I have subedited this page. I had to infer a few things, so please check it carefully.
I think it is worth outlining what you expect for each level X, Y ,Z. It is implied but not stated that a patch is bug fixes but only very minor functionality. I would normally expect minor release for new functionality, and major release for a major change in usage paradigm OR incompatibility.
@@ -25,7 +26,8 @@ | |||
* [Mock Link](tools/mock_link.md) | |||
* [Command Line Options](command_line_options.md) | |||
* [Custom Builds](custom_build/custom_build.md) | |||
* [Updating custom builds from QGC repro](custom_build/upstream_merge.md) | |||
* [Git Branching for Custom Builds](custom_build/GitBranching.md) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Yes, I know "For custom builds" is implied. But it is an annoying factor of gitbook search that the context is only the text when you search".
@@ -25,7 +26,8 @@ | |||
* [Mock Link](tools/mock_link.md) | |||
* [Command Line Options](command_line_options.md) | |||
* [Custom Builds](custom_build/custom_build.md) | |||
* [Updating custom builds from QGC repro](custom_build/upstream_merge.md) | |||
* [Git Branching for Custom Builds](custom_build/GitBranching.md) | |||
* [Updating Custom Builds from QGC repro](custom_build/upstream_merge.md) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Do you mean repo or repro?
@@ -0,0 +1,55 @@ | |||
# Git Branching Strategy for Custom Builds |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I have subedited, primarily for my taste. Please check it again, but this is pretty much the same content (i.e. not as high care required as for the other doc)
Review/subedit done. Looks good. |
Uh, what's a subedit? Did you modify the pull branch itself with your changes? |
Yes. See the additional commits to this PR. |
Ah, awesome. Thanks so much @hamishwillee |
Comments from forum (https://discuss.px4.io/t/git-flow-recommendations-for-custom-qgroundcontrol/16127/5?u=donlakeflyer): Thanks for the GitBranching write ups. Very helpful. This is what I am trying to do: I would like to create a custom version of QGC based on the latest stable release Stable_V4.0. For now I would like to use only Stable_V4.0 commits, and not any of the commits which have since been added to upstream/master. Or is what I’m describing what you are calling an ‘Out Of Band’ release? I hope what I’m asking is clear. |
I'm going to take another stab at this since things are still clear as mud.
Correct. I'm a little behind in keeping these in sync. |
@DonLakeFlyer Thanks for adding my forum comment and your doc updates so far. |
I"m going to merge and makle another pull with changes. This way it will be easier to see the new changes. |
Looks good. FWIW I'd still outline explicitly what changes go in each SemVer release number update. And perhaps address the particular case here as a "case study" at the end. |
There is also this stack overflow question I came across while trying to understand your first bullet point on the Updating Custom Builds from QGC. Perhaps you could provide the answer to this question in the documentation? |
@DonLakeFlyer ^^^^ is indeed unclear.
Do you mean "fork upstream and clone that"? If not, then probably best to spell out in git instructions. |
I meant create a new blank repo and then copy the QGC repo into it which is a github option for blank repos. That said, I don't remember why not cloning was so important. @dogmaphobic Any ideas? |
Cloning is fine. It doesn't really matter how you do it. Just make sure your "custom" folder is not included when submitting any PR against upstream QGC. Remember that "custom-example" is part of upstream QGC. Changes sent there are meant to continue showing things that can be done by "plugins" and not something specific to your new, custom code that are only relevant to you. |
I think the reason is so that you can have both a clean clone of upstream master and your own custom repo. You can't "clone" to make both of these since they will end up with the same name of "qgroundcontrol" which isn't allowed on GitHub. The other way around that is to use a single repro which you submit both custom changes to your own repo and upstream changes to QGC. But then you have to be really careful about how you do that like Gus says. |
@DonLakeFlyer In that case, can you spell out exactly how you would want it done safely in the https://dev.qgroundcontrol.com/en/custom_build/upstream_merge.html#repository-setup section? Perhaps also add the note that "this is a good way to ensure that you don't incorrectly commit changes to the custom-example updatram. |
This update includes: