chiark / gitweb /
update merging new upstream
[topgit.git] / debian / README.source
index 7c5104bc1cbe8ad5a3931557280e261983d59295..56556aad3ba97593f4af072d634497204d021aca 100644 (file)
@@ -6,10 +6,20 @@ refer to /usr/share/doc/quilt/README.source for information about how to use
 quilt for source packages.
 
 The quilt series is, however, generated from the Git repository, using TopGit
 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:
+itself. While subject to change, this currently happens as follows. Please
+make sure to have the latest version of TopGit (>= 0.3) installed before
+trying this:
 
 
-1. Branches in use
-~~~~~~~~~~~~~~~~~~
+1. Cloning the repository
+~~~~~~~~~~~~~~~~~~~~~~~~~
+Cloning a TopGit repository requires an additional step to normal Git cloning:
+
+1. git clone ssh://git.debian.org/git/collab-maint/topgit.git
+2. cd topgit
+3. tg remote --populate origin
+
+Branches in use
+'''''''''''''''
 The following branches are in use in the package:
 
 - upstream: tracks the upstream Git repository
 The following branches are in use in the package:
 
 - upstream: tracks the upstream Git repository
@@ -53,43 +63,53 @@ The upstream tarball for $VERSION can be obtained using pristine-tar:
 To build the package, you check out the build branch, recreate debian/patches,
 commit, build, test, upload, tag:
 
 To build the package, you check out the build branch, recreate debian/patches,
 commit, build, test, upload, tag:
 
- 1. git checkout build && git rm -r debian/patches
- 2. tg create stage-0.2-1 fixes/destdir debian/locations ...
- 3. git commit -m'staging 0.2-1'
- 4. tg export --quilt debian/patches
- 5. rm debian/patches/stage-*
- 6. sed -i '/^stage-/d' debian/patches/series
- 7. git checkout -f build && git add debian/patches
- 8. git commit -m'preparing 0.2-1'
- 9. build, test, upload, tag ('debian/topgit-0.2-1')
-10. tg delete stage-0.2-1
+ 1. tg create stage-0.3-1 debian/locations
+ 2. git commit -m'staging 0.3-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.3-1'
+ 9. build, test, upload, tag ('debian/topgit-0.3-1')
+10. tg delete stage-0.3-1
 
 This process is still very cumbersome and needs to be improved, ideally within
 TopGit.
 
 5. Importing a new upstream version
 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 
 This process is still very cumbersome and needs to be improved, ideally within
 TopGit.
 
 5. Importing a new upstream version
 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-To import a new upstream, pull it into the upstream branch, merge upstream
+To import a new upstream, update the remote, merge the tag you want to merge
 into the master branch, ideally together with an update to debian/changelog,
 then update all TopGit branches:
 
 into the master branch, ideally together with an update to debian/changelog,
 then update all TopGit branches:
 
-1. git checkout upstream
-2. git pull
-3. git checkout master
-4. git merge upstream
-5. tg summary
-6. for every branch that is prefixed with 'D' in the output:
+1. git remote update
+2. git checkout master
+3. git merge topgit-0.4
+
+Now proceed as in the next step.
+
+6. Making changes to the master branch
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+If you make changes to the master branch (the "debianisation" branch), follow
+this procedure:
+
+1. tg summary
+2. for every branch that is prefixed with 'D' in the output:
      git checkout $BRANCH && tg update
      git checkout $BRANCH && tg update
+3. git checkout build && git merge master
 
 
-6. Building an upstream tarball
+7. Building an upstream tarball
 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 Until upstream provides official tarballs, the following can be used to create
 them for Debian:
 
 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 Until upstream provides official tarballs, the following can be used to create
 them for Debian:
 
-1. git archive --prefix=$(git describe upstream)/ --verbose upstream \
-    | gzip -9 > ../$(git describe upstream | sed s,-,_,).orig.tar.gz
-2. pristine-tar commit ../$(git describe upstream | sed s,-,_,).orig.tar.gz \
-    upstream
+1. git checkout topgit-0.4
+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 \
+    HEAD
+4. git checkout master
 
 All comments and suggestions are welcome, especially those pertaining to
 auto-generating debian/changelog from commit logs.
 
 All comments and suggestions are welcome, especially those pertaining to
 auto-generating debian/changelog from commit logs.