Hi, I have a few question a bit related to the test failure in the github PR#35 [1].
As of now, `/usr/bin/pristine-tar` will fail if we tell it to commit /
checkout a non existing signature.
So when calling `pristine-tar`, we need to check if the signature exists
or not.
For the commit operation, this is a simple `os.path.isfile` check.
If the signature file exists, include it to `pristine-tar commit`.
But for the checkout operation, we need to either:
1. Check if the signature is in the `pristine-tar` branch.
- In that case, we need to replicate `pristine-tar` behavior to
keep remote `pristine-tar` branch supported
- This is what this PR does, using `git ls-tree`. But it
currently only works with a local `pristine-tar` branch.
2. Always try to checkout with `pristine-tar --signature-file checkout`.
- If this fails, retry without the signature
- This has the downside of doing an useless try when the package
doesn't use upstream signatures.
3. Add a new configuration option to enable signature storage with
`pristine-tar`
- So we checkout with `pristine-tar --signature-file checkout`
only if that option is enabled.
- Like 2., if there is no signature, it will fail and we catch
that failure to retry a checkout without the signature (this
way we still handle checkout of tarball without signature)
4. Ask `pristine-tar` team to have a way to not fail when doing
`pristine-tar --signature-file checkout` with a non existing signature.
- If there is no signature inside the `pristine-tar` branch,
it would only extract the tarball without failing.
I'm not sure what's the preferred way to communicate github PR and/or
Debian BTS so I posted this on both.
[1] https://github.com/agx/git-buildpackage/pull/35
--
Alexis Murzeau
PGP: B7E6 0EBB 9293 7B06 BDBC 2787 E7BD 1904 F480 937F
signature.asc
Description: OpenPGP digital signature

