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=b91ed1648ea676355c3727c7fcd327ea2b7bf375;hp=cc393b579866c4e1762a012a44a390e9cf7ef1da;hb=3193ca2bad512d2563797eca11ceb9d707a65004;hpb=28353827d87bfdaf88c931ff3058d12333f458db diff --git a/dgit-maint-debrebase.7.pod b/dgit-maint-debrebase.7.pod index cc393b57..b91ed164 100644 --- a/dgit-maint-debrebase.7.pod +++ b/dgit-maint-debrebase.7.pod @@ -269,6 +269,11 @@ patches applied. Use =back +If you were not previously using dgit to upload your package (i.e. you +were not using the workflow described in dgit-maint-gbp(7)), and you +happen to have run B in this clone of the repository, +you will need to pass I<--fdiverged> to this command. + =item (C) There is a delta queue, and patches are applied. Use @@ -371,7 +376,7 @@ release: =back Pass I<--stat> just to see the list of changed files, which is useful -to determine whether there are any new or deleted files to may need +to determine whether there are any new or deleted files that may need accounting for in your copyright file. If you obtained a tarball from upstream, you are ready to try a build. @@ -442,6 +447,12 @@ cowbuilder>. Upload with B or B. Remember to pass I<--new> if the package is new in the target suite. +In some cases where you used B since +the last upload, it is not possible for dgit to make your history +fast-forwarding from the history on B. In such cases you +will have to pass I<--overwrite> to dgit. git-debrebase will normally +tell you if this will be needed. + Right before uploading, if you did not just already do so, you might want to have git-debrebase(1) shuffle your branch such that the Debian delta queue appears right at the tip of the branch you will push: @@ -476,7 +487,9 @@ email your archive administrators. For Debian that is Our approach is to maintain a DFSG-clean upstream branch, and create tags on this branch for each release that we want to import. We then -import those tags per "Importing the release", above. +import those tags per "Importing the release", above. In the case of +a new package, we base our initial Debianisation on our first +DFSG-clean tag. For the first upstream release that requires DFSG filtering: @@ -487,11 +500,23 @@ 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" on 1.2.3+dfsg tag =back -And for subsequent releases (whether or not they require filtering): +Now either proceed with "Importing the release" on the 1.2.3+dfsg tag, +or in the case of a new package, + +=over 4 + + % git branch --unset-upstream + % git reset --hard 1.2.3+dfsg + +=back + +and proceed with "INITIAL DEBIANISATION". + +For subsequent releases (whether or not they require additional +filtering): =over 4 @@ -534,7 +559,7 @@ In the simplest case, =back -If that fails, because your branch and the NMUers work represent +If that fails, because your branch and the NMUers' work represent divergent branches of development, you have a number of options. Here we describe the two simplest. @@ -627,7 +652,7 @@ package, but this should already be represented in your git history.) The git history made by git-debrebase can seem complicated. Here are some suggestions for helpful invocations of gitk and git. -They can be adapted for other tools like tig, git log, etc. +They can be adapted for other tools like tig(1), git-log(1), magit, etc. History of package in Debian, disregarding history from upstream: @@ -665,7 +690,8 @@ Complete diff since the last upload: =over % git diff dgit/dgit/sid..HEAD -- :/ :!/debian/patches -(Includes changes to upstream files.) + +This includes changes to upstream files. =back @@ -674,7 +700,7 @@ Interdiff of delta queue since last upload, if you really want it: % git debrebase make-patches % git diff dgit/dgit/sid..HEAD -- debian/patches -Also of course there is +And of course there is: % git debrebase status