Package: dgit
Version: 11.8
Severity: wishlist
As a programming-skilled user of Debian (and also Ubuntu), I often want
to inspect the source code of a package running on my system, to help me
work out why it's behaving as it is. Less commonly, I also want to make
a minimal modification to the source (e.g. applying one bug-fix patch
from a later upstream version), and carry that patch through subsequent
security updates.
For both of these purposes, I want to start from a version of the
package's source code which matches the package as it is actually
installed on my machine (or, if I haven't installed it _yet_, the
version that would be installed by the obvious 'apt install' command).
If I'm investigating the behaviour of my actual machine, I don't want to
be misled by differences between the package as installed and some very
different version (e.g. dgit's default of checking out from sid). And if
I'm replacing the package on this machine, any changes _other_ than the
intended one risk incompatibility with the rest of the system.
'apt source' does this by default, because its source package repository
configuration is updated in parallel with the binary package
repositories. As far as I can see, there isn't _quite_ a corresponding
option in 'dgit clone'.
I see in the man page that I can specify the suite by name, via a
command like 'dgit clone coreutils bullseye'. But this requires me to
know the name of the suite running on my current system, or to look it
up. (Not _hard_, but it's an extra manual step.) It would be helpful if
there was a magic keyword I could put in place of the suite name, such
as "LOCAL" or "HERE" or something like that, which means "whatever suite
the host machine is running".
I suggest making it a magic keyword _in_ the suite name slot, rather
than a separate option like --local, because then I could set it as the
default behaviour via 'git config dgit.default.default-suite HERE' (or
whatever). Then the shortest 'dgit clone' command would do the thing I
most often want, and I could put that in my standard account-setup
scripts, without having to remember to reset it after an OS upgrade.
(Or maybe HERE would expand to the _main_ suite name, so that I'd have
to say something like "HERE,-security"? That would be cumbersome to
write on the command line every time, but if I were putting it in git
config then I wouldn't care – I'd only have to do it once.)
Cheers,
Simon
--
for k in [pow(x,37,0x1a1298d262b49c895d47f) for x in [0x50deb914257022de7fff,
0x213558f2215127d5a2d1, 0x90c99e86d08b91218630, 0x109f3d0cfbf640c0beee7,
0xc83e01379a5fbec5fdd1, 0x19d3d70a8d567e388600e, 0x534e2f6e8a4a33155123]]:
print("".join([chr(32+3*((k>>x)&1))for x in range(79)])) # <[email protected]>