X-Git-Url: https://www.chiark.greenend.org.uk/ucgi/~ianmdlvl/git?p=dgit.git;a=blobdiff_plain;f=dgit-sponsorship.7.pod;h=8feb0d198657c53ece95685e80f8deef7beaeeaa;hp=71fb2054286d2ad832dbfaff985e5f6c851f37a2;hb=3bdf06f4ea6d3735c73c12903e3ac7ce8447f61a;hpb=8eba9566df60aa1f8f494b8947d2cf68a646c7d9;ds=inline diff --git a/dgit-sponsorship.7.pod b/dgit-sponsorship.7.pod index 71fb2054..8feb0d19 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: @@ -75,7 +75,8 @@ Any .orig tarballs which will be needed. =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 +89,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,31 +106,65 @@ 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 sponsee can put them on a suitable webserver, -or attach to an email. +The simplest approach is to +commit them with pristine-tar(1), e.g. + +=over 4 + + % pristine-tar commit ../foo_1.2.3.orig.tar.xz upstream/1.2.3 + +=back + +and be sure to push the pristine-tar branch. +If you are using git-buildpackage(1), just pass +I<--git-pristine-tar> and I<--git-pristine-tar-commit>. + +Alternatively, +the sponsee can put them on a suitable webserver, +or attach to the e-mail, +if they are small. The sponsee should quote sha256sums of the .origs in their handoff email. -=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 @@ -135,14 +174,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. +and obtain any .origs mentioned by the sponsee +(to extract .origs committed with pristine-tar, +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. @@ -154,9 +202,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 @@ -217,6 +264,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.