Bug#939602: debdiff: no longer diffs contents of sources, diffs only quiltage

2021-10-31 Thread Mattia Rizzolo
Control: notforwarded -1
Control: retitle -1 debdiff: show diff to patches twice with --apply-patches
Control: severity -1 minor


On Mon, Sep 09, 2019 at 08:14:54PM +0200, Adam Borowski wrote:
> On Fri, Sep 06, 2019 at 08:08:26PM +0100, Adam D. Barratt wrote:
> > On Fri, 2019-09-06 at 20:14 +0200, Adam Borowski wrote:
> > > A regression from 1.0 to 3.0 (quilt) format:
> > [...]
> > > With debdiff on 1.0 packages, or with regular diff on unpacked source
> > > trees, you get a comparison of the sources that'll be compiled/etc --
> > 
> > Unless it's 1.0 with any form of patch system that doesn't result in
> > the changes being applied directly, e.g. dpatch or even quilt.
> 
> Well yeah, it's not supposed to diff containers recursively.  Looking inside
> dpatch is no different from eg. looking inside gcc's tarball-in-tarball.

I just merged smcv's patch that adds an --apply-patches option (and
related config option), however it's not on by default.
Also it's going to keep repeating the patch diff since it it's not
ignoring the patches by default.

Honestly, I wouldn't like either of them, and there are options to
achieve both of them, so I don't think I want to merge default changes
on that regard, but I'm not going to wontfix this bug just yet.

-- 
regards,
Mattia Rizzolo

GPG Key: 66AE 2B4A FCCF 3F52 DA18  4D18 4B04 3FCD B944 4540  .''`.
More about me:  https://mapreri.org : :'  :
Launchpad user: https://launchpad.net/~mapreri  `. `'`
Debian QA page: https://qa.debian.org/developer.php?login=mattia  `-


signature.asc
Description: PGP signature


Bug#939602: debdiff: no longer diffs contents of sources, diffs only quiltage

2019-09-09 Thread Adam Borowski
On Fri, Sep 06, 2019 at 08:08:26PM +0100, Adam D. Barratt wrote:
> On Fri, 2019-09-06 at 20:14 +0200, Adam Borowski wrote:
> > A regression from 1.0 to 3.0 (quilt) format:
> [...]
> > With debdiff on 1.0 packages, or with regular diff on unpacked source
> > trees, you get a comparison of the sources that'll be compiled/etc --
> 
> Unless it's 1.0 with any form of patch system that doesn't result in
> the changes being applied directly, e.g. dpatch or even quilt.

Well yeah, it's not supposed to diff containers recursively.  Looking inside
dpatch is no different from eg. looking inside gcc's tarball-in-tarball.

> > ie, anything that matters for the package's functionality.  But with
> > 3.0, you get only a diff of the outer container.
> > 
> > The new behaviour may be useful at most for comparing changed patch
> > metadata, or for debugging quilt-related issues, but not the actual
> > code.
> 
> While you say "no longer", and "new behaviour", I will note that the
> code in question has been in debdiff for over a decade. See #475506.

Or rather: it never had proper support for "3.0 (quilt)" implemented.

#475506 complains about differences showing twice.  And at that point, 3.0
was an early preview, thus a quick hack that got rid of one of the copies
was acceptable.

debdiff is a major part of workflows for many of us; in my case I run it on
every single non-NEW upload I sponsor.  And even when both versions have the
same upstream version, double diffs are pretty hard to read.  So far I only
cursed that but did not investigate the cause -- and only now I realized
that the double diffage doesn't seem to be intended.


Meow!
-- 
⢀⣴⠾⠻⢶⣦⠀ Latin:   meow 4 characters, 4 columns,  4 bytes
⣾⠁⢠⠒⠀⣿⡁ Greek:   μεου 4 characters, 4 columns,  8 bytes
⢿⡄⠘⠷⠚⠋  Runes:   ᛗᛖᛟᚹ 4 characters, 4 columns, 12 bytes
⠈⠳⣄ Chinese: 喵   1 character,  2 columns,  3 bytes <-- best!



Bug#939602: debdiff: no longer diffs contents of sources, diffs only quiltage

2019-09-06 Thread Adam D. Barratt
On Fri, 2019-09-06 at 20:14 +0200, Adam Borowski wrote:
> A regression from 1.0 to 3.0 (quilt) format:
[...]
> With debdiff on 1.0 packages, or with regular diff on unpacked source
> trees, you get a comparison of the sources that'll be compiled/etc --

Unless it's 1.0 with any form of patch system that doesn't result in
the changes being applied directly, e.g. dpatch or even quilt.

> ie, anything that matters for the package's functionality.  But with
> 3.0, you get only a diff of the outer container.
> 
> The new behaviour may be useful at most for comparing changed patch
> metadata, or for debugging quilt-related issues, but not the actual
> code.

While you say "no longer", and "new behaviour", I will note that the
code in question has been in debdiff for over a decade. See #475506.

Regards,

Adam



Bug#939602: debdiff: no longer diffs contents of sources, diffs only quiltage

2019-09-06 Thread Adam Borowski
Package: devscripts
Version: 2.19.6
Severity: normal

Hi!
A regression from 1.0 to 3.0 (quilt) format:

dget 
https://snapshot.debian.org/archive/debian/20190710T163017Z/pool/main/t/tfortune/tfortune_1.0.0-2.dsc
dget https://deb.debian.org/debian/pool/main/t/tfortune/tfortune_1.0.1-1.dsc
# Sorry for no snapshot.d.o link, it's not there yet.
rm -rf tfortune*/.pc tfortune*/debian/patches

Compare:
debdiff tfortune*dsc
diff -Nurd tfortune-1.0.0/ tfortune-1.0.1/

With debdiff on 1.0 packages, or with regular diff on unpacked source trees,
you get a comparison of the sources that'll be compiled/etc -- ie, anything
that matters for the package's functionality.  But with 3.0, you get only a
diff of the outer container.

The new behaviour may be useful at most for comparing changed patch
metadata, or for debugging quilt-related issues, but not the actual code.

Of course, that's still a valid use case, but answers a different question
that what I'd expect from debdiff.  It's worth keeping as an option for those
debugging quilt problems -- but both coders and release people would want to
diff the contents, thus I'd say the old behaviour should be default, and
that's why I'm reporting this as a regression not a feature.


Meow!
-- Package-specific info:

--- /etc/devscripts.conf ---

--- ~/.devscripts ---
DEBCHANGE_RELEASE_HEURISTIC=log
DEBSIGN_KEYID=FD9CE2D8D7754B78AB279BBD2C3B436FEAC68101
DSCVERIFY_KEYRINGS="~/.gnupg/pubring.gpg"

-- System Information:
Debian Release: bullseye/sid
  APT prefers unstable-debug
  APT policy: (500, 'unstable-debug'), (500, 'unstable'), (500, 'testing'), 
(500, 'stable'), (1, 'experimental')
Architecture: amd64 (x86_64)
Foreign Architectures: i386

Kernel: Linux 5.3.0-rc7-00047-g0566c3226c1a (SMP w/64 CPU cores)
Locale: LANG=C.UTF-8, LC_CTYPE=C.UTF-8 (charmap=UTF-8), LANGUAGE=en_US:en 
(charmap=UTF-8)
Shell: /bin/sh linked to /bin/dash
Init: sysvinit (via /sbin/init)

Versions of packages devscripts depends on:
ii  dpkg-dev   1.19.7
ii  fakeroot   1.23-1
ii  file   1:5.37-5
ii  gnupg  2.2.17-3
ii  gpgv   2.2.17-3
ii  libc6  2.28-10
ii  libfile-homedir-perl   1.004-1
ii  libfile-which-perl 1.23-1
ii  libipc-run-perl20180523.0-1
ii  libmoo-perl2.003004-2
ii  libstring-shellquote-perl  1.04-1
ii  libwww-perl6.39-1
ii  patchutils 0.3.4-2+b1
ii  perl   5.28.1-6
ii  python33.7.3-1
ii  sensible-utils 0.0.12
ii  wdiff  1.2.2-2+b1

Versions of packages devscripts recommends:
ii  apt 1.9.1
ii  at  3.1.23-1+b1
ii  curl7.65.3-1
ii  dctrl-tools 2.24-3+b1
ii  debian-keyring  2019.08.23
ii  dput-ng [dput]  1.28
ii  equivs  2.2.0
ii  libdistro-info-perl 0.21
ii  libdpkg-perl1.19.7
ii  libencode-locale-perl   1.05-1
ii  libgit-wrapper-perl 0.048-1
ii  libgitlab-api-v4-perl   0.21-1
ii  liblist-compare-perl0.53-1
ii  liblwp-protocol-https-perl  6.07-2
ii  libsoap-lite-perl   1.27-1
ii  libtry-tiny-perl0.30-1
ii  liburi-perl 1.76-1
ii  licensecheck3.0.31-3
ii  lintian 2.20.0
ii  man-db  2.8.7-3
ii  patch   2.7.6-6
ii  python3-apt 1.8.4
ii  python3-debian  0.1.36
ii  python3-magic   2:0.4.15-2
ii  python3-requests2.21.0-1
ii  python3-unidiff 0.5.5-2
ii  python3-xdg 0.25-5
ii  strace  4.26-0.2
ii  unzip   6.0-25
ii  wget1.20.3-1+b1
ii  xz-utils5.2.4-1+b1

Versions of packages devscripts suggests:
ii  adequate 0.15.2
ii  autopkgtest  5.11
pn  bls-standalone   
ii  bsd-mailx [mailx]8.1.2-0.20180807cvs-1+b1
ii  build-essential  12.7
pn  check-all-the-things 
pn  cvs-buildpackage 
ii  debhelper12.5.4
pn  devscripts-el
pn  diffoscope   
pn  disorderfs   
ii  dose-extra   5.0.1-14
pn  duck 
pn  faketime 
pn  gnuplot  
pn  how-can-i-help   
ii  libauthen-sasl-perl  2.1600-1
pn  libdbd-pg-perl   
ii  libfile-desktopentry-perl0.22-1
pn  libnet-smtps-perl
pn  libterm-size-perl
ii  libtimedate-perl 2.3000-2
pn  libyaml-syck-perl
pn  mozilla-devscripts   
pn  mutt 
ii  openssh-client [ssh-client]  1:8.0p1-6
ii  piuparts 1.0.1
pn  postgresql-client