~nacc/git-ubuntu:lp1698402

Last commit made on 2017-07-20
Get this branch:
git clone -b lp1698402 https://git.launchpad.net/~nacc/git-ubuntu
Only Nish Aravamudan can upload to this branch. If you are Nish Aravamudan please log in for upload directions.

Branch merges

Branch information

Name:
lp1698402
Repository:
lp:~nacc/git-ubuntu

Recent commits

98ae466... by Nish Aravamudan

git ubuntu lint: use dpkg-mergechangelogs rather than git-merge-changelogs

The behavior of the latter does not precisely match the former,
and leads to false negatives.

LP: #1705251

90a5c3d... by Nish Aravamudan

git ubuntu build: determine algorithmically what pristine-tar distribution to expect

Verify the one to use is from the same distribution. The algorith,
provided by Robie Basak, is:

1) Set "expected_distro" based on a command line override, or if not
provided, look up the target from the changelog against distro-info. If
not overriden and distro-info provides no match, explain and fail.

2) Check that only the orig tarball from expected_distro is available
(and not the other). If so, go ahead with that one, and we're done.

3) If both are available, warn that the other wasn't used, use the
expected_distro one, and we're done.

4) If only one is available but not expected_distro, explain and fail.

5) Final obvious case: if none are available, explain and fail.

d8a0cdf... by Nish Aravamudan

gitubuntu/git_repository: add helper function to search Launchpad for a specific version

5fcab40... by Nish Aravamudan

git ubuntu build: add pristine-tar support

Since the importer is now importing the orig tarballs, we can avoid some
network traffic/latency by generating the identical orig tarballs, if
possible.

However, as is currently being documented in LP #1702181, there can be
cases where the pristine-tar imports are not working. So we provide a
flag to bypass their use in those cases.

LP: #1698402

91e4f30... by Nish Aravamudan

git ubuntu import: update pristine-tar imports to use common code

1) Modify orig_imported() to take a set of paths to tarballs and a
distribution name. It will see if the given tarballs have been imported
identically to the current repository for the given distribution.

2) Use the gitubuntu/dsc.py accessors for the orig tarball and component
tarballs.

a87d896... by Nish Aravamudan

gitubuntu/git_repository: abstract pristine-tar manipulation

We expose three new APIs:

1) pristine_tar_branches - a context manager that manipulates the
per-distro pristine-tar branches

2) pristine_tar_list - returns a list of imported tarballs for a given
distro

3) pristine_tar_extract - obtains the pristine-tar tarball corresponding
to a given srcpkg and version (the srcpkg is necessary as it is in the
tarball name) in a distro

c5a3f24... by Nish Aravamudan

git ubuntu import: refactor code to pass spi to import_orig

c18969e... by Nish Aravamudan

git ubuntu import: rename GitUbuntuImport*Exception -> GitUbuntuImport*Error

0460796... by Nish Aravamudan

gitubuntu/git_repository: do not attempt to extract from environment_spi if None

We are going to use this in the importer pristine-tar logic and there is no
standard authorship information to use in that case. Calling into the helper
function leads to exceptions, as a result, so just avoid it.

7236194... by Nish Aravamudan

gitubuntu/dsc: standardize component tarball path extraction in common class