Differences between revisions 6 and 8 (spanning 2 versions)
Revision 6 as of 2011-07-29 12:50:42
Size: 1109
Editor: ThomasKoch
Revision 8 as of 2011-08-04 21:21:47
Size: 1159
Editor: meebey
Comment: added useful diffstat command
Deletions are marked like this. Additions are marked like this.
Line 16: Line 16:
  * {{{git merge --no-commit -x ours debian/patches/xxxx}}} (the -x might be -X? there's no -x option in the git-merge manpage. - thkoch)   * {{{git merge --no-commit -s ours debian/patches/xxxx}}}
Line 27: Line 27:

=== diffstat ===
{{{git diff upstream/2.10.1 upstream/2.10.3 | filterdiff -i '*.c' -i '*.h' -i '*.cs' --clean | diffstat}}}

I don't git it, but now you will

Debian patching workflow for new upstream versions

Update each patch branch

  • git checkout debian/patches/xxx

  • git merge upstream

  • Resolve possible conflicts
  • Repeat for all patch branches

Merge new upstream + updated patches + dropped patches + master (debian)

  • git checkout -b merge/$upstream_version upstream

  • Merge each updated patch branch
    • git merge debian/patches/xxxx

  • Discard each obsolete patch branch
    • git merge --no-commit -s ours debian/patches/xxxx

    • git commit -m "Discard branch 'debian/patches/xxx' from merge/$upstream_version"

  • git merge -s recursive -X ours master

  • git checkout master

  • git merge merge/$upstream_version

Untested alternative merge workflow

  • git checkout master

  • git merge -s recursive -X theirs upstream

  • git merge -s recursive -X theirs debian/patches/xxxx

    • Repeat for all patch branches


git diff upstream/2.10.1 upstream/2.10.3 | filterdiff -i '*.c' -i '*.h' -i '*.cs' --clean | diffstat