chiark / gitweb /
update workflow to use tg-export debian/rules target
[topgit.git] / debian / README.source
index e6c6f6ce587503aa974dee781bbc0b04acac411d..6717ff469582ae3afd5ff088f32fef1d6542c8bd 100644 (file)
@@ -7,7 +7,7 @@ quilt for source packages.
 
 The quilt series is, however, generated from the Git repository, using TopGit
 itself. While subject to change, this currently happens as follows. Please
-make sure to have the latest version of TopGit (>= 0.3) installed before
+make sure to have the latest version of TopGit (>= 0.5) installed before
 trying this:
 
 1. Cloning the repository
@@ -62,25 +62,31 @@ The upstream tarball for $VERSION can be obtained using pristine-tar:
 
 4. Building the package
 ~~~~~~~~~~~~~~~~~~~~~~~
-To build the package, you check out the build branch, recreate debian/patches,
-commit, build, test, upload, tag:
-
- 1. tg create stage-0.4-1 debian/locations
- 2. git commit -m'staging 0.4-1'
- 3. tg export --quilt debian/patches.new
- 4. rm debian/patches.new/stage-*
- 5. sed -i '/^stage-/d' debian/patches.new/series
- 6. git checkout build && git rm -r debian/patches
- 7. mv debian/patches.new debian/patches && git add debian/patches
- 8. git commit -m'preparing 0.4-1'
- 9. build, test, upload, tag ('debian/topgit-0.4-1')
-10. tg delete stage-0.4-1
-
-This process is still very cumbersome and needs to be improved, ideally within
-TopGit.
-
-TODO: provide Makefile snippet for the above to prevent useless duplication (#501991)
-TODO: rewrite to use tg-export -b, which will be fixed in TopGit 0.5 (#500273)
+To build the package, you are encouraged to include the TopGit make snippet at
+the top of debian/rules:
+
+  -include /usr/share/topgit/topgit.mk
+
+This will provide the tg-export target, which will create a quilt series of
+all TopGit branches in the current repository.
+
+You can also set the variable TG_BRANCHES to a space- or comma-separated list
+(but not comma and space) of feature branches to export, e.g.:
+
+  TG_BRANCH := branch1,branch2
+  TG_BRANCH := 'branch3 branch4 branch 5'
+
+(The TopGit package actually uses the local version of the file)
+
+When you are ready to build, you check out the build branch, recreate
+debian/patches, commit, build, test, upload, tag:
+
+1. git checkout build
+2. git merge master
+3. ./debian/rules tg-export
+4. git add debian/patches
+5. git commit -m'preparing 0.5-1'
+6. build, test, upload, tag ('debian/topgit-0.5-1')
 
 5. Importing a new upstream version
 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
@@ -90,7 +96,7 @@ then update all TopGit branches:
 
 1. git remote update
 2. git checkout master
-3. git merge topgit-0.4
+3. git merge topgit-0.5
 
 Now proceed as in the next step.
 
@@ -102,14 +108,13 @@ this procedure:
 1. tg summary
 2. for every branch that is prefixed with 'D' in the output:
      git checkout $BRANCH && tg update
-3. git checkout build && git merge master
 
 7. Building an upstream tarball
 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 Until upstream provides official tarballs, the following can be used to create
 them for Debian:
 
-1. git checkout topgit-0.4
+1. git checkout topgit-0.5
 2. git archive --prefix=$(git describe HEAD)/ --verbose HEAD \
     | gzip -9 > ../$(git describe HEAD | sed s,-,_,).orig.tar.gz
 3. pristine-tar commit ../$(git describe HEAD | sed s,-,_,).orig.tar.gz \