Skip to content
Christoph Reiter edited this page Sep 20, 2022 · 21 revisions

Goal of this fork

While we haven't put much work into it recently, our long term goal is to reduce the diff to cygwin and use cygwin as is (with some default config tweaks) in MSYS2.

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.

Branches:

  • msys2-3_3_* is the last branch supporting Windows Vista, Windows Server 2008 and 32 bit (see details)

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 range-diff cygwin-A_B_C-release..msys2-A_B_C-release msys2-X_Y_Z-release..msys2-X_Y_Z-release-wip
  • 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