X-Git-Url: https://www.chiark.greenend.org.uk/ucgi/~ianmdlvl/git?p=dgit.git;a=blobdiff_plain;f=dgit-sponsorship.7.pod;h=8d5b72daa2de1e42b11820c132cda72c260d3ce9;hp=e6c773044e772b53567bbf68492fb384475c44d6;hb=468edf05661effb0ef4f4dd1efb2df5a61434259;hpb=a6c7e5fd1684f8a7621cdf168c285319fa5c84db diff --git a/dgit-sponsorship.7.pod b/dgit-sponsorship.7.pod index e6c77304..8d5b72da 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. @@ -99,19 +107,29 @@ alioth is another possibility. The branch names used by the sponsee on their local machine, 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 +147,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. + +=back -=head2 quilt options +=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,11 +184,12 @@ 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, @@ -171,9 +206,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 @@ -203,8 +237,20 @@ or similar, to to the build, and then C to do the upload. -(If you switched to the quilt-cache dgit view, -B pass the --quilt or --gbp or --dpm option again.) +Check whether the sponsee made a debian/I tag. +If they did, +ensure you have their tag in the repository you are pushing from, +or pass C<--no-dep14tag>. +This avoids identically named, non-identical tags, +which can be confusing. + +(It is possible to upload from +the quilt-cache dgit view. +If you want to do this, +B pass the C<--quilt> or C<--gbp> or C<--dpm> options again, +and B pass C<--no-dep14tag>, +since the debian/I tag +should go on the sponsee's branch.) If this was the first upload done with dgit, you may need to pass @@ -234,6 +280,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.