Skip to content
martyone edited this page Sep 19, 2018 · 8 revisions

Welcome to the sailfish-qtcreator wiki!

Branching / committing policy

Please take care to separate any changes touching upstream code. Keep these in separate commits.

You can learn which code is "our" by comparing master branch to mer-x.y. The mer-x.y branch is basically the upstream x.y branch with our changes to upstream code collected on top of it by the mean of cherry-picking (ch-p) appropriate commits from the master branch.

sailfish/master <--merge-- sailfish/mer-x.y <--merge-- qt/x.y
sailfish/master ---ch-p--> sailfish/mer-x.y ---ch-p--> qt/x.y

New upstream is merged by

  1. reseting the mer-x.y branch to the newer upstream (utilizing the ours strategy of git-merge),
  2. cherry-picking our commits discarded with the reset, resolving possible conflicts and discarding commits which are no more needed
  3. then merging the mer-x.y branch back to master, often using next branch as a staging area.

This way we

  1. keep our changes to upstream code as a minimal patch set x.y..mer-x.y and
  2. avoid conflicts resolution in a single huge merge commit

The followig command provides a nice overview of the process.

gitk --simplify-by-decoration --remotes=sailfish ^v4.0.1 ^sdk-1608
Clone this wiki locally