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 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131
|
.TH "GIT-UBUNTU-MERGE" "1" "2017-07-19" "Git-Ubuntu 0.2" "Git-Ubuntu Manual"
.SH "NAME"
git-ubuntu-merge \- perform an Ubuntu merge of a source package in a Git repository
.SH "SYNOPSIS"
.SP
.NF
\fIgit ubuntu merge\fR [\-\-bug <bug>] [\-\-release <release>]
[\-d | \-\-directory <directory>] [\-f | \-\-force] [\-\-tag-only]
start|finish <commitish> [<onto>]
.FI
.SP
.SH "DESCRIPTION"
.SP
Ubuntu packages often have changes relative to their Debian bases,
referred to as the "Ubuntu delta"\&.
\fIgit ubuntu merge\fR assists with performing an Ubuntu merge, by
replaying the Ubuntu delta on a newer version from Debian as a
\fBgit-rebase\fR(1)\&.
Once an Ubuntu merge has been performed using this workflow, future
merges can be simple rebases\&.
In the most general case, an Ubuntu merge is begun with `git ubuntu
merge start pkg/ubuntu/devel pkg/debian/sid` and finished with `git
ubuntu merge finish pkg/ubuntu/devel pkg/debian/sid`\&.
.PP
The brief outline of the merge workflow supported by \fBgit ubuntu merge\fR
is:
.IP
.RS 4
Obtain git tree with \fBgit ubuntu clone\fR(1)\&.
.PP
Split the current Ubuntu delta into a sequence of logical
commits suitable for rebasing\&.
.PP
Rebase the logical Ubuntu delta onto the new Debian version\&.
.PP
Build and test the resulting source package with \fBgit ubuntu
build\fR(1) and \fBautopkgtest\fR(1)\&.
.PP
Reconstruct the debian/changelog for the new source package\&.
.PP
Update the metadata for the new source package, such as the
maintainer\&.
.PP
Upload the resulting source package to the Ubuntu archive\&.
.RE
.RE
.PP
A more extensive discussion of the workflow is at
.UR https://wiki.ubuntu.com/UbuntuDevelopment/Merging/GitWorkflow#Detailed_workflow
.UE
.SP
.SH "OPTIONS"
.PP
start | finish
.RS 4
The step of the merge\&.
When "start" is specified, the current delta will be reconstructed and
HEAD will point to the result\&.
When "finish" is specified, the debian/changelog will be reconstructed
and package metadata will be updated\&.
"start" must be run before "finish"\&.
.RE
.PP
\-\-bug <bug>
.RS 4
When passed to the \fBstart\fR step, the tags created will be under
lp\fB<bug>\fR/ in the repository\&.
When passed to the \fBfinish\fR step, the Lauchpad bug \fB<bug>\fR will
be closed by the resulting debian/changelog\&.
.RE
.PP
\-\-release <release>
.RS 4
The \fB<release>\fR to use in the final changelog\&.
If not specified, the current development release is assumed\&.
.RE
.PP
\-d <directory>, \-\-directory <directory>
.RS 4
The local directory to perform the merge in\&.
If not specified, the current directory is used\&.
.RE
.PP
\-f | \-\-force
.RS 4
Overwrite any tags, if they already exist\&.
.RE
.PP
\-\-tag-only
.RS 4
In some cases, the full workflow is not desired\&.
When this flag is set, only the tags for "old/ubuntu", "old/debian" and
"new/debian" are created\&.
.RE
.PP
<commitish>
.RS 4
A Git commitish indicating the current Ubuntu changes to merge to
Debian\&.
.RE
.PP
[<onto>]
.RS 4
A Git commitish indicating the new Debian version to merge to\&.
If not specified, "debian/sid" is assumed.
If a local branch with name \fB<onto>\fR does not exist, it will be
created from the remote-tracking branch "pkg/\fB<onto>\fR"\&.
.SP
.SH "EXIT STATUS"
.SP
\fIgit ubuntu merge\fR exits with status 0 if the command completes
successfully\&.
\fIgit ubuntu merge\fR exits with nonzero exit status on errors\&.
.SP
.SP
.SH "REPORTING BUGS"
.SP
Report bugs at
.UR https://bugs.launchpad.net/git-ubuntu
.UE
\&.
.PP
.SP
.SH "SEE ALSO"
.SP
\fBgit-rebase\fR(1), \fBgit-ubuntu-clone\fR(1),
\fBgit-ubuntu-build\fR(1), \fBautopkgtest\fR(1)
.SP
.SH "GIT-UBUNTU"
Part of the \fBgit-ubuntu\fR(1) suite
|