File: git-debcherry.1

package info (click to toggle)
gitpkg 0.29%2Bnmu1
  • links: PTS, VCS
  • area: main
  • in suites: bullseye
  • size: 180 kB
  • sloc: sh: 1,219; makefile: 34
file content (114 lines) | stat: -rw-r--r-- 2,959 bytes parent folder | download | duplicates (4)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
.\"                                      Hey, EMACS: -*- nroff -*-
.\" First parameter, NAME, should be all caps
.\" Second parameter, SECTION, should be 1-8, maybe w/ subsection
.\" other parameters are allowed: see man(7), man(1)
.TH GIT\-DEBCHERRY 1 "April 27, 2014"
.\" Please adjust this date whenever revising the manpage.
.\"
.\" Some roff macros, for reference:
.\" .nh        disable hyphenation
.\" .hy        enable hyphenation
.\" .ad l      left justify
.\" .ad b      justify to both left and right margins
.\" .nf        disable filling
.\" .fi        enable filling
.\" .br        insert line break
.\" .sp <n>    insert n+1 empty lines
.\" for manpage-specific macros, see man(7)
.SH NAME
git\-debcherry \- export commits touching upstream source as patches
.SH SYNOPSIS
.B git\-debcherry
.RI [ options "] " upstream " [" integration ]

.SH DESCRIPTION
This program will analyze git history and try to create a set of patches
meeting the following conditions:

.RS 4
1. Is guaranteed to apply to
.I upstream

2. Produces the same work tree as \fIintegration\fP, outside \fI./debian\fP

3. Does not touch \fI./debian\fP

4. As much as possible, matches the git history from
.I upstream
to
.I integration
.RE

.SH BRANCH PARAMETERS

.TP
.I upstream

This ref should be suitable for export as a
.I .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
.I upstream
branch should include any necessary file deletions.

.TP
.I integration

This branch contains all debian packaging, plus any changes introduced to
upstream source by the debian packager.
This argument is optional.
If
.I integration
is not passed
.B git\-debcherry
will use \fIHEAD\fP.
.RE

.SH OPTIONS
The following options are available:

.TP
.BI "\-o, \-\-output\-directory " directory

Place output (patches and series file) in \fIdirectory\fP.
If unspecified, output patches (in mbox format) to stdout.
.TP
.B \-s, \-\-stat

Only output diffstat of patches
.TP
.B \-d, \-\-debug
Output some debugging information. Probably only useful to developers
or those reporting bugs.

.SH EXAMPLE

To export the patches between tag \fIv3.0+dfsg1\fP and the current branch
into \fI./debian/patches\fP:

.nf
 $ git\-debcherry \-o debian/patches v3.0+dfsg1
.fi

.SH NOTES

.SS PERFORMANCE
\fBgit\-debcherry\fP currently uses
.BR 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.

.SS DELETED FILES
\fBgit\-debcherry\fP currently follows
.BR 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
\fIupstream\fP.

.SH SEE ALSO
.BR gitpkg (1)

.SH AUTHOR
\fBgit\-debcherry\fP was written by David Bremner <bremner@debian.org>.