-
Notifications
You must be signed in to change notification settings - Fork 25
Home
martyone edited this page Sep 19, 2018
·
8 revisions
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
- reseting the
mer-x.y
branch to the newer upstream (utilizing theours
strategy ofgit-merge
), - cherry-picking our commits discarded with the reset, resolving possible conflicts and discarding commits which are no more needed
- then merging the
mer-x.y
branch back tomaster
, often usingnext
branch as a staging area.
This way we
- keep our changes to upstream code as a minimal patch set
x.y..mer-x.y
and - 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