X-Git-Url: https://www.chiark.greenend.org.uk/ucgi/~ianmdlvl/git?p=dgit.git;a=blobdiff_plain;f=dgit-sponsorship.7.pod;h=ed37ff5f1107956f49536a93850d52778ea28b81;hp=e6c773044e772b53567bbf68492fb384475c44d6;hb=476be97f847c7dd52a98647ed9f4240791ff380e;hpb=a6c7e5fd1684f8a7621cdf168c285319fa5c84db diff --git a/dgit-sponsorship.7.pod b/dgit-sponsorship.7.pod index e6c77304..ed37ff5f 100644 --- a/dgit-sponsorship.7.pod +++ b/dgit-sponsorship.7.pod @@ -6,7 +6,7 @@ dgit-sponsorship - tutorial for Debian upload sponsorship, using git This tutorial describes how a Debian sponsored contributor and -their sponsoring DD (or DM) +a sponsoring DD (or DM) can collaborate and publish using git. The sponsor must to be intending to use dgit for the upload. @@ -59,7 +59,7 @@ options to dgit, or C or C, you must specify that in your handoff email - see below. -=head1 GIT+ORIGS BASED HANDOFF +=head2 git+origs based handoff The elements of the handoff consists of: @@ -71,11 +71,15 @@ The git branch. =item * -Any .orig tarballs which will be needed. +Any .orig tarballs which will be needed, +or sample git-archive(1) +or gbp-buildpackage(1) +command(s) to generate them. =item * -Any dgit --quilt= (or --gbp or --dpm) option needed +A sample dgit push command, containing +any dgit --quilt=, --gbp or --dpm option needed =item * @@ -88,8 +92,12 @@ constraints about upload timing, etc. If the handoff is done by email, the elements above should be a in a single, signed, message. +This could be an RFS submission +against the sponsorship-requests pseudo-package. -=head2 git branch +=head3 git branch + +=over 4 The sponsee should push their HEAD as a git branch to any suitable git server. @@ -101,17 +109,29 @@ and on the server, do not matter. The sponsee should not make a CI tag. -Instead, the sponsor should include the +Instead, the sponsee should include the git commit id of their HEAD in their handover email. -=head2 orig tarballs +=back + +=head3 orig tarballs + +=over 4 If there are any .origs that are not in the archive already, the sponsor will need them as part of the upload. -The simplest approach is to -commit them with pristine-tar(1), e.g. +If the sponsee generated these tarballs with git-archive(1) +or gbp-buildpackage(1), +they can simply include a sample invocation of git-archive(1) +or ensure that a suitable gbp.conf is present +in the source package +to generate the tarball. + +Otherwise, the simplest approach is to +commit the orig tarballs +with pristine-tar(1), e.g. =over 4 @@ -129,18 +149,34 @@ or attach to the e-mail, if they are small. The sponsee should quote sha256sums of the .origs in their -handoff email. +handoff email, +unless they supplied commands to generate them. -=head2 quilt options +=back + +=head3 quilt options + +=over 4 Some workflows involve git branches which are not natively dgit-compatible. Normally dgit will convert them as needed, during push. -You need to tell your sponsor if they need to use + +Supply a sample "dgit push" command +including any C<--gbp> (aka C<--quilt=gbp>), C<--dpm> (aka C<--quilt=dpm>), -or one of the other C<--quilt=> options. +or other C<--quilt=> option +they need to use. +e.g. + +=over 4 + + % dgit --gbp push +=back + +=back =head1 SPONSOR WORKFLOW @@ -150,16 +186,23 @@ This part is addressed to the sponsor: You should check the signature on the email. -Use C to fetch the git branch +Use C or C to obtain the git branch prepared by your sponsee, and obtain any .origs mentioned by the sponsee (to extract .origs committed with pristine-tar, -you can use origtargz(1).) +you can use origtargz(1), +or use "gbp clone --pristine-tar".) Check the git commit ID of the sponsee's branch tip, and the sha256sums of the .origs, against the handoff email. +Confirm that the sponsee has not made +a debian/1.2.3-1 tag. +If they have, +it is best to ask them to delete it now, +as it can cause confusion later when dgit push produces its own tag. + Now you can check out the branch tip, and do your substantive review. @@ -171,9 +214,8 @@ you can convert their tree into the standard dgit view: =over 4 - % dgit -wgf quilt-fixup - [ Watch for a message about split brain, and if so: ] - % git checkout -b dgit-view-for-review refs/dgit-intern/quilt-cache + % dgit -wgf --quilt=foo --dgit-view-save=unquilted quilt-fixup + % git checkout unquilted =back @@ -234,6 +276,17 @@ Then: =back +Or for an entirely new package: + +=over 4 + + % mkdir PACKAGE + % cd PACKAGE + % git init + % dgit -pPACKAGE import-dsc /path/to/sponsee's.dsc +sponsee + +=back + This will leave you looking at the sponsee's package, formatted as a dgit branch.