X-Git-Url: http://www.chiark.greenend.org.uk/ucgi/~ianmdlvl/git?p=dgit.git;a=blobdiff_plain;f=dgit-maint-debrebase.7.pod;h=0f2f89288892722374aa392cab508300ae0e5824;hp=3c6e2fd00a84d399c4c1fd2a1a9a156a9ce4164d;hb=6afbad208f42c5f4b2f232988a7ed775b638ec7b;hpb=a090117492eafad326684b0dc49f73184f52d148 diff --git a/dgit-maint-debrebase.7.pod b/dgit-maint-debrebase.7.pod index 3c6e2fd0..0f2f8928 100644 --- a/dgit-maint-debrebase.7.pod +++ b/dgit-maint-debrebase.7.pod @@ -323,7 +323,7 @@ or if you have a working watch file =over 4 - % git debrebase new-upstream-v0 1.2.3 + % git debrebase new-upstream 1.2.3 =back @@ -406,7 +406,8 @@ is a single debrebase stitch. =head1 BUILDING AND UPLOADING You can use dpkg-buildpackage(1) for test builds. When you are ready -to build for an upload, use B. +to build for an upload, use B, B or B. Upload with B or B. Remember to pass I<--new> if the package is new in the target suite. @@ -456,7 +457,7 @@ For the first upstream release that requires DFSG filtering: % git commit -m "upstream version 1.2.3 DFSG-cleaned" % git tag -s 1.2.3+dfsg % git checkout master - % # proceed with "Importing the release" + % # proceed with "Importing the release" on 1.2.3+dfsg tag =back @@ -467,10 +468,10 @@ And for subsequent releases (whether or not they require filtering): % git checkout upstream-dfsg % git merge 1.2.4 % git rm further-evil.bin # if needed - % git commit -m "upstream version 1.2.4 DFSG-cleaned" + % git commit -m "upstream version 1.2.4 DFSG-cleaned" # if needed % git tag -s 1.2.4+dfsg % git checkout master - % # proceed with "Importing the release" + % # proceed with "Importing the release" on 1.2.4+dfsg tag =back @@ -567,15 +568,22 @@ than sending files from I. =head2 Upstream branches -Except in the case where upstream releases only tarballs, or we -require DFSG filtering, we do not maintain a separate 'upstream' -branch (unless you also happen to be involved in upstream -development). We work with upstream tags rather than any branches -(except temporary branches used to prepare patches for forwarding -upstream, for example). +In this workflow, we specify upstream tags rather than any branches. + +Except when (i) upstream releases only tarballs, (ii) we require DFSG +filtering, or (iii) you also happen to be involved in upstream +development, we do not maintain any local branch corresponding to +upstream, except temporary branches used to prepare patches for +forwarding, and the like. The idea here is that from Debian's point of view, upstream releases -are immutable points in history, and so better represented by tags. +are immutable points in history. We want to make sure that we are +basing our Debian package on a properly identified upstream version, +rather than some arbitrary commit on some branch. Tags are more +useful for this. + +Upstream's branches remain available as the git remote tracking +branches for your upstream remote, e.g. I. =head2 The first ever dgit push @@ -611,17 +619,22 @@ using git-rebase(1) directly. For example, =over 4 - % git debrebase launder + % git debrebase % git rebase -i HEAD~5 # there are 4 Debian patches =back If you take this approach, you should be very careful not to start the -rebase too early. +rebase too early, +including before the most recent pseudomerge. +git-rebase without a base argument will often +start the rebase too early, +and should be avoided. +Run git-debrebase instead. =head1 SEE ALSO -dgit(1), dgit(7) +dgit(1), dgit(7), git-debrebase(1), git-debrebase(5) =head1 AUTHOR