Man pages sections > man1 > git-debcherry

git-debcherry - export commits touching upstream source as patches

GIT-DEBCHERRY(1) General Commands Manual GIT-DEBCHERRY(1)

NAME

git-debcherry - export commits touching upstream source as patches

SYNOPSIS

git-debcherry [options] upstream [integration]
 

DESCRIPTION

This program will analyze git history and try to create a set of patches meeting the following conditions:
 
1. Is guaranteed to apply to upstream
 
2. Produces the same work tree as integration, outside ./debian
 
3. Does not touch ./debian
 
4. As much as possible, matches the git history from upstream to integration
 

BRANCH PARAMETERS

upstream
 
This ref should be suitable for export as a .orig.tar.gz. In particular note that quilt has no way of deleting files that does not include the material to be deleted in the patch, so your upstream branch should include any necessary file deletions.
 
integration
 
This branch contains all debian packaging, plus any changes introduced to upstream source by the debian packager. This argument is optional. If integration is not passed git-debcherry will use HEAD.
 

OPTIONS

The following options are available:
 
-o, --output-directory directory
 
Place output (patches and series file) in directory. If unspecified, output patches (in mbox format) to stdout.
-s, --stat
 
Only output diffstat of patches
-d, --debug
Output some debugging information. Probably only useful to developers or those reporting bugs.
 

EXAMPLE

To export the patches between tag v3.0+dfsg1 and the current branch into ./debian/patches:
 
 $ git-debcherry -o debian/patches v3.0+dfsg1
 

NOTES

PERFORMANCE

git-debcherry currently uses git-filter-branch(1) to rewrite all commits on the integration branch not present upstream. Depending on the number of such commits, this can be noticeably slow.
 

DELETED FILES

git-debcherry currently follows dpkg-source(1) in ignoring file deletions. This has the positive side effect of not bloating the patches, but if you really need the files deleted for the build and/or licensing reasons, you should delete them in upstream.
 

SEE ALSO

gitpkg(1)
 

AUTHOR

git-debcherry was written by David Bremner <bremner@debian.org>.
April 27, 2014 Debian Sid