opensearch-sdk-java
opensearch-sdk-java copied to clipboard
[DOCUMENTATION] Improve documentation on keeping branches in sync
Is your feature request related to a problem?
While git is powerful, it's not exactly the best documented version control system. When the time between making a branch and getting a PR approved is longer, and that PR touches commonly updated classes (like ExtensionsRunner) this creates merge conflicts that aren't obvious how to resolve until you've gone through the pain of learning the right git commands.
The Getting Started section of the Developer Guide contains a happy path to forking and cloning but doesn't say what to do during development to keep your branch up to date.
What solution would you like?
Add a section under the above "Getting Started" titled "Keeping your fork up to date". Give a set of the most common commands and link to external tutorial resources, particularly those discussing the "Triangle Workflow" (or "Triangular Workflow").
What alternatives have you considered?
Closing PRs and resubmitting fresh ones, which I did on my very first Github PR and a few new contributors here have done as well.
Sounds like this a general guidance from our past experience, do you think this is something we can recommend for the wider project and not just SDK? (a.k.a .github repo)
Sounds like this a general guidance from our past experience, do you think this is something we can recommend for the wider project and not just SDK? (a.k.a .github repo)
I think some overall general guidance could definitely go there. But there are enough unique aspects of our own development that I think deserve specific treatment:
- adding a new class to OpenSearch that your PR depends on (companion PRs, publishToMavenLocal)
- migrating an extension that depends on SDK (and possibly OpenSearch as well) with similar steps as above