Package: dgit
Version: 8.5
Severity: minor
Tags: patch

Hello,

By private e-mail someone asked what to do when upstream uses git and
puts out no tarballs, but also does not publish any git tags.  After I
replied with a sensible approach, they said it would have been helpful
to have this in the tutorial manpages, so here's a quick patch.

-- 
Sean Whitton
From f0527d72b790a8ad74e4e2ea43cb718b2dbf4640 Mon Sep 17 00:00:00 2001
From: Sean Whitton <spwhit...@spwhitton.name>
Date: Sun, 23 Jun 2019 17:07:57 +0100
Subject: [PATCH] dgit-maint-{merge,debrebase}(7): Using untagged upstream
 commits

Signed-off-by: Sean Whitton <spwhit...@spwhitton.name>
---
 dgit-maint-debrebase.7.pod | 30 ++++++++++++++++++++++++++++++
 dgit-maint-merge.7.pod     | 30 ++++++++++++++++++++++++++++++
 2 files changed, 60 insertions(+)

diff --git a/dgit-maint-debrebase.7.pod b/dgit-maint-debrebase.7.pod
index b91ed164..32870f13 100644
--- a/dgit-maint-debrebase.7.pod
+++ b/dgit-maint-debrebase.7.pod
@@ -134,6 +134,32 @@ using git-diff(1) to compare the imported tarball to the release tag.
 
 =back
 
+=head3 Using untagged upstream commits
+
+=over 4
+
+Sometimes upstream does not tag their releases, or you want to package
+an unreleased git snapshot.  In such a case you can create your own
+upstream release tag, of the form B<upstream/>I<ver>, where I<ver> is
+the upstream version you plan to put in I<debian/changelog>.  The
+B<upstream/> prefix ensures that your tag will not clash with any tags
+upstream later creates.
+
+For example, suppose that the latest upstream release is 1.2.2 and you
+want to package git commit ab34c21 which was made on 2013-12-11.  A
+common convention is to use the upstream version number
+1.2.2+git20131211.ab34c21 and so you could use
+
+=over 4
+
+    % git tag -s upstream/1.2.2+git20131211.ab34c21 ab34c21
+
+=back
+
+to obtain a release tag, and then proceed as above.
+
+=back
+
 =head2 When upstream releases only tarballs
 
 Because we want to work in git, we need a virtual upstream branch with
@@ -331,6 +357,10 @@ release, and importing that release using git-debrebase(1).
 
 =back
 
+If you want to package an untagged upstream commit (because upstream
+does not tag releases or because you want to package an upstream
+development snapshot), see "Using untagged upstream commits" above.
+
 =head3 When upstream releases only tarballs
 
 You will need the I<debian/gbp.conf> from "When upstream releases only
diff --git a/dgit-maint-merge.7.pod b/dgit-maint-merge.7.pod
index c20a2525..4b0679d0 100644
--- a/dgit-maint-merge.7.pod
+++ b/dgit-maint-merge.7.pod
@@ -120,6 +120,32 @@ upstream's tarball instead of running git-deborig(1).
 
 =back
 
+=head3 Using untagged upstream commits
+
+=over 4
+
+Sometimes upstream does not tag their releases, or you want to package
+an unreleased git snapshot.  In such a case you can create your own
+upstream release tag, of the form B<upstream/>I<ver>, where I<ver> is
+the upstream version you plan to put in I<debian/changelog>.  The
+B<upstream/> prefix ensures that your tag will not clash with any tags
+upstream later creates.
+
+For example, suppose that the latest upstream release is 1.2.2 and you
+want to package git commit ab34c21 which was made on 2013-12-11.  A
+common convention is to use the upstream version number
+1.2.2+git20131211.ab34c21 and so you could use
+
+=over 4
+
+    % git tag -s upstream/1.2.2+git20131211.ab34c21 ab34c21
+
+=back
+
+to obtain a release tag, and then proceed as above.
+
+=back
+
 =head2 When upstream releases only tarballs
 
 We need a virtual upstream branch with virtual release tags.
@@ -340,6 +366,10 @@ to git), you can just run dpkg-buildpackage(1) or debuild(1) instead.
 
 =back
 
+If you want to package an untagged upstream commit (because upstream
+does not tag releases or because you want to package an upstream
+development snapshot), see "Using untagged upstream commits" above.
+
 =head3 When upstream releases only tarballs
 
 You will need the I<debian/gbp.conf> from "When upstream releases only
-- 
2.11.0

Attachment: signature.asc
Description: PGP signature

Reply via email to