Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > linux.debian.kernel > #62282

Testing git-debrebase/dgit in the linux git repo

Path csiph.com!news.redatomik.org!aioe.org!bofh.it!news.nic.it!robomod
From Ben Hutchings <ben@decadent.org.uk>
Newsgroups linux.debian.kernel
Subject Testing git-debrebase/dgit in the linux git repo
Date Thu, 04 Oct 2018 00:10:01 +0200
Message-ID <wEXvb-5LT-15@gated-at.bofh.it> (permalink)
X-Mailbox-Line From debian-kernel-request@lists.debian.org Wed Oct 3 22:09:23 2018
Old-Return-Path <ben@decadent.org.uk>
X-Amavis-Spam-Status No, score=-11.943 tagged_above=-10000 required=5.3 tests=[BAYES_00=-2, FOURLA=0.1, LDO_WHITELIST=-5, MURPHY_DRUGS_REL8=0.02, PGPSIGNATURE=-5, RCVD_IN_DNSWL_LOW=-0.7, SARE_MSGID_LONG40=0.637] autolearn=ham autolearn_force=no
X-Policyd-Weight NOT_IN_SBL_XBL_SPAMHAUS=-1.5 NOT_IN_BL_NJABL=-1.5 CL_IP_EQ_FROM_MX=-3.1; rate: -6.1
Content-Type multipart/signed; micalg="pgp-sha512"; protocol="application/pgp-signature"; boundary="=-BA21biuyZ8B4pcup6qZz"
User-Agent Evolution 3.29.92-1
MIME-Version 1.0
X-Sa-Exim-Connect-IP 2a02:8011:400e:2:cbab:f00:c93f:614
X-Sa-Exim-Mail-From ben@decadent.org.uk
X-Sa-Exim-Scanned No (on shadbolt.decadent.org.uk); SAEximRunCond expanded to false
X-Mailing-List <debian-kernel@lists.debian.org> archive/latest/118250
List-ID <debian-kernel.lists.debian.org>
List-URL <https://lists.debian.org/debian-kernel/>
List-Archive https://lists.debian.org/msgid-search/51934ae1809affb7ff5af12ebb65997f5d87b973.camel@decadent.org.uk
Approved robomod@news.nic.it
Lines 105
Organization linux.* mail to news gateway
Sender robomod@news.nic.it
X-Original-Date Wed, 03 Oct 2018 23:08:54 +0100
X-Original-Message-ID <51934ae1809affb7ff5af12ebb65997f5d87b973.camel@decadent.org.uk>
Xref csiph.com linux.debian.kernel:62282

Show key headers only | View raw


[Multipart message — attachments visible in raw view] - view raw

As discussed in yesterday's meeting, I've been investigating git-
debrebase and dgit as tools for maintaining the linux source package
with upstream included.  It seems like they could make it a lot easier
to add and rebase patches, while maintaining some patch history and
fast-forward branches (unlike a regular git rebase).

Both tools are in the dgit package, and there is a tutorial in the
dgit-maint-debrebase(7) manual page.

Using these tools requires three main changes to the git repository:

1. The upstream code, with full history, is merged into Debian
branches.

This makes the git repository substantially larger.  This may be a
problem for some users checking out development versions.  We might
need to modify instructions in debian-kernel-handbook and elsewhere to
recommend a clone with limited depth.

Currently we merge between the sid and master branches, but the
corresponding upstream branches are not (and should not be) merged.  We
may need to implement a custom merge strategy to make this work.  It
sems that git-debrebase does not (yet) deal well with merges; see the
description of the "--experimntal-merge-resolution" option in its
manual page.

2. Debian changes to upstream code are applied as commits.  The
debian/patches directory is created and committed by dgit only as
necessary.

This means that "git cherry-pick", "git am" etc. should work.  We will
still need to add DEP-3 pseudo-headers to the commit message though. 
We can use a "Gbp-Pq: Topic ..." trailer in the commit message to
organise changes into topics, which are mapped to subdirectories.

I wrote a check-commits script (paralleling check-patches.sh) which
checks for the expected DEP-3 pseudo-headers in Debian commits to the
upstream code.  check-patches.sh will only operate on featureset
patches, which still have to be managed as patches-in-git.

I also updated the genpatch-* scripts and makefiles to cope with this.

3. All generated files in the source package will be included in Debian
branches.

dgit requires that the git tree corresponding to some version of a
Debian source package exactly matches the unpacked package, with the
exception of the .pc directory for a 3.0 (quilt) package.

The only generated files which really need to be present in the source
package are debian/control and debian/tests/control.  We also need to
include debian/control.md5sum so that a stale debian/control file can
be detected.  I made changes to debian/bin/gencontrol.py and
debian/rules to enable this behaviour.  I also changed the way
debian/changelog is checksummed so that debian/control.md5sum won't
change so often.

---

A dgit-suitable version of the master branch now exists, named dgit-
master.  This is experimental, so DO NOT USE THIS BRANCH to build and
upload source packages.  But please do try making changes to this
branch in parallel to your changes to the master branch.

All the changes I described above are only on this branch, not the
master branch.

The initial conversion from debian/patches to git commits is done using
gbp-pq, which can lose headers (bug #905934).  I used a locally patched
version for the conversion.

Ben.

-- 
Ben Hutchings
Sturgeon's Law: Ninety percent of everything is crap.

Back to linux.debian.kernel | Previous | NextNext in thread | Find similar | Unroll thread


Thread

Testing git-debrebase/dgit in the linux git repo Ben Hutchings <ben@decadent.org.uk> - 2018-10-04 00:10 +0200
  Re: Testing git-debrebase/dgit in the linux git repo Ben Hutchings <ben@decadent.org.uk> - 2018-10-04 01:20 +0200
    Re: Testing git-debrebase/dgit in the linux git repo Ian Jackson <ijackson@chiark.greenend.org.uk> - 2018-10-04 03:30 +0200
      Re: Testing git-debrebase/dgit in the linux git repo Ian Jackson <ijackson@chiark.greenend.org.uk> - 2018-10-04 03:40 +0200
      Re: Testing git-debrebase/dgit in the linux git repo Bastian Blank <waldi@debian.org> - 2018-10-14 20:50 +0200
        Re: Testing git-debrebase/dgit in the linux git repo Ian Jackson <ijackson@chiark.greenend.org.uk> - 2018-10-14 23:30 +0200
        Re: Testing git-debrebase/dgit in the linux git repo Ian Jackson <ijackson@chiark.greenend.org.uk> - 2018-10-15 00:30 +0200
          Re: Testing git-debrebase/dgit in the linux git repo Bastian Blank <waldi@debian.org> - 2018-10-16 21:50 +0200
    Re: Testing git-debrebase/dgit in the linux git repo Sean Whitton <spwhitton@spwhitton.name> - 2018-10-04 17:10 +0200
    Re: Testing git-debrebase/dgit in the linux git repo Bastian Blank <waldi@debian.org> - 2018-10-17 13:00 +0200

csiph-web