Your message dated Thu, 22 Feb 2018 12:33:58 +0000
with message-id <8e3447f5-f387-8761-cf2c-dccc12a39...@debian.org>
and subject line Re: Bug#891091: git-buildpackage: pristine-tar uses 
unreachable tree for main tarball when components exist
has caused the Debian Bug report #891091,
regarding git-buildpackage: pristine-tar uses unreachable tree for main tarball 
when components exist
to be marked as done.

This means that you claim that the problem has been dealt with.
If this is not the case it is now your responsibility to reopen the
Bug report if necessary, and/or fix the problem forthwith.

(NB: If you are a system administrator and have no idea what this
message is talking about, this may indicate a serious mail system
misconfiguration somewhere. Please contact ow...@bugs.debian.org
immediately.)


-- 
891091: https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=891091
Debian Bug Tracking System
Contact ow...@bugs.debian.org with problems
--- Begin Message ---
Package: git-buildpackage
Version: 0.9.7
Severity: normal

Hi,

I am attempting to use git-buildpackage and pristine-tar with a package
which uses multiple components. Unfortunately if I clone the repository,
pristine-tar fails to generate the main tarball:

> $ pristine-tar checkout ffdiaporama_2.1+dfsg.orig-rsc.tar.gz
> pristine-tar: successfully generated ffdiaporama_2.1+dfsg.orig-rsc.tar.gz
> $ pristine-tar checkout ffdiaporama_2.1+dfsg.orig.tar.gz
> fatal: ambiguous argument '81c0361de57e9e6c6dc8bf6cd6e9ba6697fb6e53^{tree}': 
> unknown revision or path not in the working tree.
> Use '--' to separate paths from revisions, like this:
> 'git <command> [<revision>...] -- [<file>...]'
> fatal: Not a valid object name
> tar: This does not look like a tar archive
> tar: Exiting with failure status due to previous errors
> pristine-tar: command failed: git archive --format=tar 
> 81c0361de57e9e6c6dc8bf6cd6e9ba6697fb6e53\^\{tree\} | (cd 
> '/tmp/pristine-tar.KmsGn7eSaa' && tar x)

The mentioned tree (81c0361de57e9e6c6dc8bf6cd6e9ba6697fb6e53) does not
exist in the cloned repository but does in the original repository.

I found this which looks to me exactly the same situation I am in, but I
could not find a Debian bug so I am filing one now:

https://lists.sigxcpu.org/pipermail/git-buildpackage/2017-June/000223.html

The gist is that pristine-tar is given a tree object for the main
tarball without the extra component tarballs, but this tree object is
never present in the upstream branch and is unreachable from any tags. I
guess the easiest solution is to pass the final upstream tree (with all
the components) to pristine-tar when generating the main tarball. This
might give bigger deltas, but when I tested it with ffdiaporama the
delta was only a few hundred bytes larger so maybe it's not a big
problem.

Thanks,
James

Attachment: signature.asc
Description: OpenPGP digital signature


--- End Message ---
--- Begin Message ---
Hi,

On 22/02/18 11:34, Guido Günther wrote:
> On Thu, Feb 22, 2018 at 10:48:25AM +0000, James Cowgill wrote:
>> Package: git-buildpackage
>> Version: 0.9.7
>> Severity: normal
>>
>> Hi,
>>
>> I am attempting to use git-buildpackage and pristine-tar with a package
>> which uses multiple components. Unfortunately if I clone the repository,
>> pristine-tar fails to generate the main tarball:
>>
>>> $ pristine-tar checkout ffdiaporama_2.1+dfsg.orig-rsc.tar.gz
>>> pristine-tar: successfully generated ffdiaporama_2.1+dfsg.orig-rsc.tar.gz
>>> $ pristine-tar checkout ffdiaporama_2.1+dfsg.orig.tar.gz
>>> fatal: ambiguous argument 
>>> '81c0361de57e9e6c6dc8bf6cd6e9ba6697fb6e53^{tree}': unknown revision or path 
>>> not in the working tree.
>>> Use '--' to separate paths from revisions, like this:
>>> 'git <command> [<revision>...] -- [<file>...]'
>>> fatal: Not a valid object name
>>> tar: This does not look like a tar archive
>>> tar: Exiting with failure status due to previous errors
>>> pristine-tar: command failed: git archive --format=tar 
>>> 81c0361de57e9e6c6dc8bf6cd6e9ba6697fb6e53\^\{tree\} | (cd 
>>> '/tmp/pristine-tar.KmsGn7eSaa' && tar x)
> 
> That is perfectly fine and it's why /usr/share/bug/git-buildpackage/presubj is
> asking for the _full_ comand outpout:

Sorry. I originally ran gbp import-orig about a week ago so I don't have
any verbose output and concluded gbp was to blame from the below thread.

>> The mentioned tree (81c0361de57e9e6c6dc8bf6cd6e9ba6697fb6e53) does not
>> exist in the cloned repository but does in the original repository.
>>
>> I found this which looks to me exactly the same situation I am in, but I
>> could not find a Debian bug so I am filing one now:
>>
>> https://lists.sigxcpu.org/pipermail/git-buildpackage/2017-June/000223.html
> 
> If you read that thread you see 
> 
>     https://lists.sigxcpu.org/pipermail/git-buildpackage/2017-July/000240.html

I didn't see that. There is no "next message" link or any thread links
in the first mail archives so I assumed there was no reply.

>> The gist is that pristine-tar is given a tree object for the main
>> tarball without the extra component tarballs, but this tree object is
>> never present in the upstream branch and is unreachable from any tags. I
>> guess the easiest solution is to pass the final upstream tree (with all
>> the components) to pristine-tar when generating the main tarball. This
>> might give bigger deltas, but when I tested it with ffdiaporama the
>> delta was only a few hundred bytes larger so maybe it's not a big
>> problem.
> 
> You're very likely missing the --git-component option (see above) which
> will be used to create the tree you lack.

The gbp import-orig was definitely run with the --git-component option.

I think the issue is that I am invoking pristine-tar directly when I
should be going through gbp. Doing some searching, it looks like "gbp
export_orig" is exactly what I want and using that works fine. It
doesn't seem to be documented however?

Anyway, closing the bug.

Thanks!
James

Attachment: signature.asc
Description: OpenPGP digital signature


--- End Message ---

Reply via email to