• Bug#1099519: /usr/bin/dgit: dgit-nmu-simple should be less pessimistic

    From Ian Jackson@21:1/5 to All on Tue Mar 4 13:10:02 2025
    Package: dgit
    Version: 12.6
    Severity: normal
    File: /usr/bin/dgit

    I was asked in pers.comm about rebasing a branch from dgit clone, as
    part of the dgit-nmu-simple workflow.

    Our current comments about rebasing are a bit elliptical; dealing simultaneously with detailed situtations, but also doing so vaguely.

    I think we ought to state more directly the basic principles.
    Something like this:

    You can treat the dgit/sid branch you end up on as a normal local
    git branch tracking an upstream branch. So you can rebase your local
    changes that you haven't pushed anywhere, as normal.

    The one thing that's weird is the quilt fixup commits (that turn up
    if you do eg dgit sbuild), and the thing you need to know is that if
    it's OK for you to be rebasing them at all, you can and should just
    dreop them.

    All of this follows from an underlying fact, which is that dgit
    doesn't have any magic state somewhere. So if you rebase away the
    quilt fixup, and rework your branch, the result must be fine because
    it looks *just like* it would do if you'd just made those commits
    straight off. (NB git-debrebase *does* have weird off-branch state.)

    Ian.

    -- System Information:
    Debian Release: trixie/sid
    APT prefers testing-debug
    APT policy: (500, 'testing-debug'), (500, 'testing')
    Architecture: amd64 (x86_64)

    Kernel: Linux 6.12.11-amd64 (SMP w/16 CPU threads; PREEMPT)
    Locale: LANG=en_GB.utf8, LC_CTYPE=en_GB.utf8 (charmap=UTF-8), LANGUAGE not set Shell: /bin/sh linked to /usr/bin/dash
    Init: sysvinit (via /sbin/init)
    LSM: AppArmor: enabled

    Versions of packages dgit depends on:
    ii apt 2.9.26
    ii ca-certificates 20241223
    ii coreutils 9.5-1+b1
    ii curl 8.11.1-1+b1
    ii devscripts 2.25.1
    ii dpkg-dev 1.22.14
    ii dput-ng [dput] 1.40
    ii git [git-core] 1:2.47.2-0.1
    ii git-buildpackage 0.9.37
    ii libdpkg-perl 1.22.14
    ii libjson-perl 4.10000-1
    ii liblist-moreutils-perl 0.430-2
    ii liblocale-gettext-perl 1.07-7+b1
    ii libtext-csv-perl 2.05-1
    ii libtext-glob-perl 0.11-3
    ii libtext-iconv-perl 1.7-8+b4
    ii libwww-curl-perl 4.17-11
    ii perl [libdigest-sha-perl] 5.40.0-8
    ii python3 3.13.1-2

    Versions of packages dgit recommends:
    ii distro-info-data 0.63
    ii liburi-perl 5.30-1
    ii openssh-client [ssh-client] 1:9.9p1-3

    Versions of packages dgit suggests:
    ii cowbuilder 0.90
    ii pbuilder 0.231.1
    ii sbuild 0.88.2

    -- no debconf information

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Sean Whitton@21:1/5 to Ian Jackson on Sun Mar 9 07:00:01 2025
    control: tag -1 + patch

    Hello,

    On Tue 04 Mar 2025 at 11:58am GMT, Ian Jackson wrote:

    Package: dgit
    Version: 12.6
    Severity: normal
    File: /usr/bin/dgit

    I was asked in pers.comm about rebasing a branch from dgit clone, as
    part of the dgit-nmu-simple workflow.

    Our current comments about rebasing are a bit elliptical; dealing simultaneously with detailed situtations, but also doing so vaguely.

    I think we ought to state more directly the basic principles.
    Something like this:

    You can treat the dgit/sid branch you end up on as a normal local
    git branch tracking an upstream branch. So you can rebase your local
    changes that you haven't pushed anywhere, as normal.

    The one thing that's weird is the quilt fixup commits (that turn up
    if you do eg dgit sbuild), and the thing you need to know is that if
    it's OK for you to be rebasing them at all, you can and should just
    dreop them.

    All of this follows from an underlying fact, which is that dgit
    doesn't have any magic state somewhere. So if you rebase away the
    quilt fixup, and rework your branch, the result must be fine because
    it looks *just like* it would do if you'd just made those commits
    straight off. (NB git-debrebase *does* have weird off-branch state.)

    LGTM.

    --
    Sean Whitton

    --=-=-Content-Type: application/pgp-signature; name="signature.asc"

    -----BEGIN PGP SIGNATURE-----

    iQJNBAEBCgA3FiEEm5FwB64DDjbk/CSLaVt65L8GYkAFAmfNLTEZHHNwd2hpdHRv bkBzcHdoaXR0b24ubmFtZQAKCRBpW3rkvwZiQJV7EACLzYGvDpal3YL/AeivxGlE nG3iWnxJYcyKcO72O9YB/64XC99zGh7FECZujGlO3ia9uhUFrldA5sLM6scdfINE jn9IDU0FJtMs7fSVSVZBKHIIf40aCQxtqDAt0docX/MTT6d3m/bMUHOx5Eq3iUpi xe5wArqD/lt3Xdo9WFKVMkXwCxTz2pjAakXAc0HVVsoPw9GrEsDl9+nxWiWqlm28 xcw3Hm5niMkmphW5nTAfGKzV9Srvd/MnLuOnIW2Qu1G+q3lZlTq+MUt4GMY/asnS hJuVrKexoInPhHPW4ql/NPn7CcoP9Or72mPp7L+n25enJdgjn2KNfAzt5WUSGoEK nArzY8ADpkQJSETq+RhUqzkZH9crClpF/pHhTdos6UCZE+rm8MbgJEs6UMGwPk85 aSq1ZkONRrQcui/+5gHyRUGInyyqVKuTSS/9KMNWA4b/jKNNJMQGTfMUtqFYaPDz e5uTG4/I+H6WZ4UM6jNDst7CdGbkj9VuvHO2abSNNdSgzz6Ba0NYIs5yb/MaV59r TP4/a9PAPyVmB5RB8REzb2+7IWmkORuPg3fiQvTU/V3+YdbaL6930JpBazJx+fww vcA7tSYQ9IBGXgs+QxRdbBfOJekAlpUNzPbtr0oPg3JoP5fm5zXT8Ptn56vFZpT6 By7OyCEZwd9nyRS8yDk91Q==YPe4
    -----END PGP SIGNATURE-----

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Us