Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Git branching model #4433

Closed
mversic opened this issue Apr 15, 2024 · 7 comments
Closed

Git branching model #4433

mversic opened this issue Apr 15, 2024 · 7 comments
Assignees
Labels
CI iroha2-dev The re-implementation of a BFT hyperledger in RUST

Comments

@mversic
Copy link
Contributor

mversic commented Apr 15, 2024

regarding git branching model. I think we should make the following sequence of steps:

  1. copy contents of current main to a new branch iroha1-main
  2. copy iroha2-stable contents to main branch
  3. copy contents of current develop branch to a new branch iroha1-develop
  4. copy iroha2-dev contents to develop branch
  5. create stable branch and copy contents of iroha2-stable into it
  6. remove all branches with iroha2- prefix

The workflow would then be as follows:

  1. we work on develop branch and merge all new features into it
  2. periodically, we merge develop into main (this is a followed by a release announcement)
  3. periodically (but with a lesser frequency) we merge main into stable
@mversic mversic added CI iroha2-dev The re-implementation of a BFT hyperledger in RUST labels Apr 15, 2024
@Erigara
Copy link
Contributor

Erigara commented Apr 15, 2024

What should be done with iroha2-lts branch?

@mversic
Copy link
Contributor Author

mversic commented Apr 15, 2024

What should be done with iroha2-lts branch?

it's going to be removed. We will have main and stable instead

@BAStos525
Copy link
Member

BAStos525 commented Apr 15, 2024

Pay attention that i2 CI has several important bindings with branch names (triggers, image tag names...). So, please describe a possible images naming policies changes here or somewhere else.

@nxsaken
Copy link
Contributor

nxsaken commented Apr 15, 2024

What if we make iroha2-dev the main branch, while keeping release and stable in non-default branches? This way, the most recent project activity will be immediately visible, while reducing the likelihood of accidentally contributing directly to the release branch.

@mversic
Copy link
Contributor Author

mversic commented Apr 15, 2024

What if we make iroha2-dev the main branch, while keeping release and stable in non-default branches? This way, the most recent project activity will be immediately visible, while reducing the likelihood of accidentally contributing directly to the release branch.

yeah, I was thinking about this and I'm leaning to agree with this even though it's not what GitFlow recommends. We don't need develop branch. Here is my revised suggestion:

  1. copy contents of current main to a new branch iroha1-main
  2. create stable branch and copy contents of iroha2-stable into it
  3. copy iroha2-dev contents to main branch
  4. remove all branches with iroha2- prefix
  5. remove develop branch

The workflow would then be as follows:

  1. we work on main branch and merge all new features into it
  2. periodically, we tag HEAD of the main branch to publish a new release
  3. for a bugfix:
    3.1. create a new branch from the previous tag
    3.2. commit the bugfix changes on the new branch
    3.3. tag the HEAD of the bugfix branch
    3.4. merge bugfix branch back it into main

@mversic
Copy link
Contributor Author

mversic commented Apr 15, 2024

we don't even need stable branch, but let's keep it until we digest these changes. Afterwards, we can consider relying on git tags only

@mversic
Copy link
Contributor Author

mversic commented Apr 24, 2024

done

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
CI iroha2-dev The re-implementation of a BFT hyperledger in RUST
Projects
None yet
Development

No branches or pull requests

4 participants