Package: dgit
Version: 9.15

If I want to download the source of a Debian package to poke around in
it, I have two options: 'apt source' and 'dgit'. Ian Jackson's advice is
to use dgit (you would surely be surprised if it were not :-):

  "If you are a Debian user who knows git, don’t work with Debian source
  packages. Don’t use apt source, or dpkg-source. Instead, use dgit and
  work in git."

  https://diziet.dreamwidth.org/17579.html

However I still often use apt source in spite of this advice, because
sometimes (though not always) dgit is slow enough that I give up waiting
for it. I mentioned this to Ian in the pub recently and he encouraged me
to raise this bug.

An example case I tested just now is to download the source of the GTK
library (in which I often want to source-dive, because I find that the
easiest way to find out how to use it in practice):

$ time dgit clone gtk+3.0
canonical suite name for unstable is sid
fetching existing git history
last upload to archive: NO git hash
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
100 12.6M  100 12.6M    0     0  19.6M      0 --:--:-- --:--:-- --:--:-- 19.6M
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
100 3383k  100 3383k    0     0  12.9M      0 --:--:-- --:--:-- --:--:-- 13.0M
dpkg-source: info: extracting gtk+3.0 in gtk+3.0-3.24.43
dpkg-source: info: unpacking gtk+3.0_3.24.43.orig.tar.xz
dpkg-source: info: unpacking gtk+3.0_3.24.43-3.debian.tar.xz
warning:
dgit: error: gbp-pq import and dpkg-source disagree!
dgit:  gbp-pq import gave commit 588df14f290cd60ff33c416fe71e9e19296dd5b1
dgit:  gbp-pq import gave tree 67f0e0262543d2ea406db80e42ecba5602efa2c9
dgit:  dpkg-source --before-build gave tree 
47299fdddef7fe7744006ef486ed3a76464aaf2f
dgit: trying slow absurd-git-apply...
synthesised git commit from .dsc 3.24.43-3
HEAD is now at e3e38564ab Record gtk+3.0 (3.24.43-3) in archive suite sid
dgit ok: ready for work in gtk+3.0

real    1m50.182s
user    0m55.096s
sys     0m2.884s

For comparison, 'apt source gtk+3.0' completed in under 2.5 seconds.

2 minutes wouldn't be excessively long to wait if it was the only way to
get something done. But it's long enough that I have to find something
to do while I wait. So if something else can do an equally good job (for
my purposes) in a couple of seconds, I'm likely to use that instead.

(Of course, there are other pros and cons. dgit provides history whereas
apt source provides only the current state of the code; dgit defaults to
giving me unstable whereas apt source defaults to giving me the source
code matching the version of the package I'm actually using on the host
system. But in this case neither of those makes much difference to me -
GTK 3 is pretty stable - so the speed difference is what drives my
decision.)

Cheers,
Simon

-- 
import hashlib; print((lambda p,q,g,y,r,s,m: (lambda w:(pow(g,int(hashlib.sha1(
m.encode('ascii')).hexdigest(),16)*w%q,p)*pow(y,r*w%q,p)%p)%q)(pow(s,q-2,q))==r
and s%q!=0 and m)(12342649995480866419, 2278082317364501, 1670428356600652640,
5398151833726432125, 645223105888478, 1916678356240619, "<ana...@pobox.com>"))

Reply via email to