summaryrefslogtreecommitdiff
path: root/dgit-maint-debrebase.7.pod
diff options
context:
space:
mode:
authorSean Whitton <spwhitton@spwhitton.name>2018-08-20 09:15:54 -0700
committerIan Jackson <ijackson@chiark.greenend.org.uk>2018-08-21 13:34:10 +0100
commitb043825debebbfe4d3f44b6c51712f787dd0bf11 (patch)
tree4f09ee325beaee2eb75bb19b9424d371815e082a /dgit-maint-debrebase.7.pod
parent1da1a2b176cb726e3e076ccb7f38f1e676430b18 (diff)
dgit-maint-debrebase(7): Rewrite "Converting an existing package"
Closes:#905573 Signed-off-by: Sean Whitton <spwhitton@spwhitton.name>
Diffstat (limited to 'dgit-maint-debrebase.7.pod')
-rw-r--r--dgit-maint-debrebase.7.pod60
1 files changed, 45 insertions, 15 deletions
diff --git a/dgit-maint-debrebase.7.pod b/dgit-maint-debrebase.7.pod
index 0f2f892..b8f2640 100644
--- a/dgit-maint-debrebase.7.pod
+++ b/dgit-maint-debrebase.7.pod
@@ -209,47 +209,79 @@ patching the upstream source.
This section explains how to convert an existing Debian package to
this workflow. It should be skipped when debianising a new package.
-=head2 No existing git history
+If you have an existing git history that you have pushed to an
+ordinary git server like B<salsa.debian.org>, we start with that. If
+you don't already have it locally, you'll need to clone it, and obtain
+the corresponding orig.tar from the archive:
+
+=over 4
+
+ % git clone salsa.debian.org:Debian/foo
+ % cd foo
+ % dgit setup-new-tree
+ % origtargz
+
+=back
+
+If you don't have any existing git history, or you have history only
+on the special B<dgit-repos> server, we start with B<dgit clone>:
=over 4
% dgit clone foo
% cd foo
+
+=back
+
+Then we make new upstream tags available:
+
+=over 4
+
% git remote add -f upstream https://some.upstream/foo.git
=back
-=head2 Existing git history using another workflow
+We now use a B<git debrebase convert-from-*> command to convert your
+existing history to the git-debrebase(5) data model. Which command
+you should use depends on some facts about your repository:
+
+=over 4
+
+=item (A) There is no delta queue.
-First, if you don't already have the git history locally, clone it,
-and obtain the corresponding orig.tar from the archive:
+If there do not exist any Debian patches, use
=over 4
- % git clone salsa.debian.org:Debian/foo
- % cd foo
- % origtargz
+ % git debrebase convert-from-gbp
=back
-If your tree is patches-unapplied, some conversion work is needed.
-You can use
+=item (B) There is a delta queue, and patches are unapplied.
+
+This is the standard git-buildpackage(1) workflow: there are Debian
+patches, but the upstream source is committed to git without those
+patches applied. Use
=over 4
- git debrebase convert-from-gbp
+ % git debrebase convert-from-gbp
=back
-Then make new upstream tags available:
+=item (C) There is a delta queue, and patches are applied.
+
+Use
=over 4
- % git remote add -f upstream https://some.upstream/foo.git
+ % git debrebase convert-from-dgit-view
=back
-Now you simply need to ensure that your git HEAD is dgit-compatible,
+=back
+
+Finally, you need to ensure that your git HEAD is dgit-compatible,
i.e., it is exactly what you would get if you deleted .git, invoked
B<dpkg-buildpackage -S>, and then unpacked the resultant source
package.
@@ -258,8 +290,6 @@ To achieve this, you might need to delete
I<debian/source/local-options>. One way to have dgit check your
progress is to run B<dgit build-source>.
-The first dgit push will require I<--overwrite>.
-
=head1 GIT CONFIGURATION
git-debrebase(1) does not yet support using B<git merge> to merge