Hi everyone,

I propose we discuss and stick to a version control management practice across 
all SDAP repos moving forward. Currently, our repos are all using different 
branching strategies which makes development and release management difficult. 

I've personally used 
[GitFlow](https://www.atlassian.com/git/tutorials/comparing-workflows/gitflow-workflow)
 extensively, and have found it to work well and can easily integrate with 
CI/CD. However, the page I linked above seems to indicate this is an older 
strategy and not in line with best practices. Alternatively, we can explore 
[trunk-based 
development](https://www.atlassian.com/continuous-delivery/continuous-integration/trunk-based-development),
 which seems straightforward enough. 

If we were to use something like GitFlow, that might look something like this 
for SDAP:

- `main` branch: contains the latest released code. 
- `release/*` branch: contains candidate release code. PR and merge into `main` 
upon release.
- `develop` branch: contains completed features ready to be pulled into next 
release
- `feature/SDAP-xxx` branch: Feature branch containing changes needed to 
accomplish SDAP-xxx ticket. PR and merge into `develop` branch.

The most important thing is that we are consistent with whatever strategy we 
choose across all SDAP repos. Does anyone have any input as to which strategy 
might suit SDAP best? 

Stepheny

Reply via email to