Subject: Re: git-archive and tar options

From: Jakub Narebski <[email-masked]>
Date: Thu, 14 Jul 2011 12:12:41 -0700 (PDT)

Jeff King <[email-masked]> writes:

> On Thu, Jul 14, 2011 at 07:45:07PM +0200, René Scharfe wrote:
> 
> > > We didn't when git-archive was written, but these days we have
> > > get_sha1_with_context to remember incidental things about an object we
> > > look up. It should perhaps remember the commit (if any) we used to reach
> > > a treeish, and then the above command line could still insert the pax
> > > header.
> > 
> > That's a good idea to increase consistency, as there shouldn't really be
> > a difference in output between the two subdirectory syntaxes.
> 
> The patch to do this is pretty tiny. See below.
> 
> There are a few issues, though:
> 
>   1. I think this is probably the right thing to do, and most people
>      will be happy about it. But I guess I can see an argument that the
>      commit-id should not be there, as the subtree does not represent
>      that commit.
> 
>      IOW, if you assume the commit-id in the output means
>      "by the way, this came from commit X", this change is a good thing.
>      If you assume it means "this is the tree from commit X", then it's
>      not.  I have no idea how people use it. I never have, but I always
>      assumed the use case was "I have this random tarball. Where did it
>      come from?".

Perhaps we should embed '<commit-id>:<subtree>' instead in pax header,
in that case?  Or <commit-id>.<subtree> if ':' is forbidden.

-- 
Jakub Narębski
Poland