These packages are listed on Merge-o-Matic as having been last modified
by server team members, and so may be ones team members will want to
continue maintaining in git-ubuntu.
When no tarballs can be successfully found by any mechanism,
fetch_orig()'s loop will exit. Since no return statement was provided
in such a case, the function returns None. exportorig.py's main()
routine returns this None directly to the top level, where it is stored
in the variable tarball. This results in a traceback like:
File "/snap/git-ubuntu/477/usr/lib/python3/dist-packages/gitubuntu/exportorig.py", line 117, in cli_main
if len(tarballs) > 0:
TypeError: object of type 'NoneType' has no len()
We don't yet have test cases for build.py, but I added an assert in
fetch_orig() prior to its return to avoid papering over unrelated errors
in mechanisms.
bzip2/bunzip2 was missing in the snap, which prevented "git ubuntu
import" from working in the case that bzip2 compression was used in
their source packages.
Add an integration test to ensure that all dpkg decompressors are
available, and fix the snap to include them explicitly.
An internal "reconstruct changelog" implementation is used by "git
ubuntu merge". However, the original shell implementation still exists
and is exposed by a separate endpoint. In the recent snap refactoring to
core20, this implementation was broken by the new wrapper failing to
pass through the command line arguments. We fix this, and also add a
test to ensure this doesn't regress.
The test is somewhat involved because there are multiple ways in which
this (and our other endpoints) are invoked, and we want to test them
all. More details in the comments.