chiark / gitweb /
changelog: start 9.14
[dgit.git] / dgit-maint-merge.7.pod
index 31b0393a9ec472f15e820932dc25ae07a6343bca..ddf37aa54402dbde2566338467305667506407fd 100644 (file)
@@ -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.
@@ -140,7 +166,7 @@ Now create I<debian/gbp.conf>:
     [DEFAULT]
     upstream-branch = upstream
     debian-branch = master
-    upstream-tag = %(version)s
+    upstream-tag = upstream/%(version)s
 
     sign-tags = True
     pristine-tar = False
@@ -148,6 +174,7 @@ Now create I<debian/gbp.conf>:
 
     [import-orig]
     merge-mode = merge
+    merge = False
 
 =back
 
@@ -167,7 +194,7 @@ Then we can import the upstream version:
 
 =over 4
 
-    % gbp import-orig --merge-mode=replace ../foo_1.2.2.orig.tar.xz
+    % gbp import-orig --merge --merge-mode=replace ../foo_1.2.2.orig.tar.xz
 
 =back
 
@@ -317,12 +344,16 @@ dgit(1).  If any command fails, dgit will provide a carefully-worded
 error message explaining what you should do.  If it's not clear, file
 a bug against dgit.  Remember to pass I<--new> for the first upload.
 
-As an alternative to B<dgit build> and friends, you can use a tool
-like gitpkg(1).  This works because like dgit, gitpkg(1) enforces that
-HEAD has exactly the contents of the source package.  gitpkg(1) is
-highly configurable, and one dgit user reports using it to produce and
-test multiple source packages, from different branches corresponding
-to each of the current Debian suites.
+If you want to upload with git-debpush(1), for the first upload you
+should pass the B<--quilt=smash> quilt mode option (see
+git-debpush(1)).
+
+As another alternative to B<dgit build> and friends, you can use a
+tool like gitpkg(1).  This works because like dgit, gitpkg(1) enforces
+that HEAD has exactly the contents of the source package.  gitpkg(1)
+is highly configurable, and one dgit user reports using it to produce
+and test multiple source packages, from different branches
+corresponding to each of the current Debian suites.
 
 If you want to skip dgit's checks while iterating on a problem with
 the package build (for example, you don't want to commit your changes
@@ -336,10 +367,14 @@ to git), you can just run dpkg-buildpackage(1) or debuild(1) instead.
 
 =over 4
 
-    % git remote update
+    % git fetch --tags upstream
 
 =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
@@ -351,7 +386,7 @@ Then, either
 
 =over 4
 
-    % gbp import-orig --no-merge ../foo_1.2.3.orig.tar.xz
+    % gbp import-orig ../foo_1.2.3.orig.tar.xz
 
 =back
 
@@ -359,10 +394,12 @@ or if you have a working watch file
 
 =over 4
 
-    % gbp import-orig --no-merge --uscan
+    % gbp import-orig --uscan
 
 =back
 
+In the following, replace I<1.2.3> with I<upstream/1.2.3>.
+
 =head2 Reviewing & merging the release
 
 It's a good idea to preview the merge of the new upstream release.