Skip to content
Christoph Reiter edited this page Dec 3, 2021 · 21 revisions

Branch overview

  • cygwin/master auto-syncs with cygwin upstream
  • For every cygwin release we have a branch named msys2-X_Y_Z-release which starts at the upstream release cygwin-X_Y_Z-release with our patches on top
  • The current default branch is the one used for creating the pacman package and development happens there.

New changes to an existing release

  • Commit to the current default branch
  • Follow the instructions in the msys2-runtime packages to update the PKGBUILD etc.

Rebase on top of a new cygwin release

  • Checkout out the upstream release tag git checkout cygwin-X_Y_Z-release
  • Create a new branch git checkout-b msys2-X_Y_Z-release and push it
  • Create a new branch git checkout -b msys2-X_Y_Z-release-wip
  • Cherry pick the patches from the old release branch over git cherry-pick cygwin-A_B_C-release..msys2-A_B_C-release
  • Try to clean up the history, merge patches etc to make the history clean and linear (makes future updates easier)
  • Create a new PR for merging msys2-X_Y_Z-release-wip into msys2-X_Y_Z-release
  • Include a range-diff in the PR description: git diff-range cygwin-A_B_C-release..msys2-A_B_C-release msys2-X_Y_Z-release..msys2-X_Y_Z-release
  • Merge the PR
  • Make the new branch msys2-X_Y_Z-release the default branch
  • Follow the instructions in the msys2-runtime packages to update the PKGBUILD etc.
Clone this wiki locally