git.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Toby Corkindale <toby.corkindale@rea-group.com>
To: git@vger.kernel.org
Subject: Re: [BUG?] git-archive ignores remote .gitattributes
Date: Thu, 10 Apr 2008 14:14:14 +1000	[thread overview]
Message-ID: <47FD9416.1020403@rea-group.com> (raw)
In-Reply-To: <alpine.LSU.1.00.0803281321260.18259@racer.site>

Johannes Schindelin wrote:
> Hi,
> 
> On Fri, 28 Mar 2008, Toby Corkindale wrote:
> 
>> I submit that this is a bug, or at least undesirable behaviour:
>>
>> "git-archive --remote=/some/repo" will ignore /some/repo/.gitattributes, 
>> but check /some/repo/info/attributes.
>>
>> I think the problem is in the loop that looks for .gitattributes, which 
>> seems to do so by taking the current path and iterating down through it?
> 
> The problem is that "git archive --remote" operates on the remote 
> repository as if it were bare.  Which in many cases is true.
> 
> So I'd submit that this is not the usage .gitattributes is meant for, and 
> that you should clone the thing if you want to generate archives heeding 
> the .gitattributes.

If it is not what .gitattributes is for, then what is?
The attributes docs even include specific options for archive mode 
(export-subst), which implies it is exactly meant for archive.

How about $GIT/info/attributes instead? Sadly, that isn't copied during 
clone.

I'd rather not have to clone a potentially large repository just in 
order to make an archive of one specific version. If I was going to have 
to clone it, then I could pass appropriate options to rsync or tar to 
archive instead of calling git-archive.

ie. One could create this:

#!/bin/bash
# Usage: git-archive2  <repo> <treeish>
# note - not actually a real script, don't run this.
REPO=$1
VERSION=$2
git clone $REPO
cd `basename $REPO`
git checkout $VERSION
tar cf - --exclude=.git
cd ..
rm -rf `basename $REPO`


That's silly and shouldn't be required, because git-archive --remote 
exists to perform that work. But it doesn't look at the attributes.

Is there a better way?

thanks,
Toby

-- 
Toby Corkindale
Software developer
w: www.rea-group.com
REA Group refers to realestate.com.au Ltd (ASX:REA)

Warning - This e-mail transmission may contain confidential information.
If you have received this transmission in error, please notify us
immediately on (61 3) 9897 1121 or by reply email to the sender. You
must destroy the e-mail immediately and not use, copy, distribute or
disclose the contents.

      parent reply	other threads:[~2008-04-10  4:06 UTC|newest]

Thread overview: 13+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2008-03-27  3:08 .git/info/attributes not cloned Toby Corkindale
2008-03-27  3:33 ` Jeff King
2008-03-27  4:23   ` Toby Corkindale
2008-03-27  4:29     ` Jeff King
2008-03-27  4:48       ` Toby Corkindale
2008-03-27  4:53         ` Jeff King
2008-03-28  5:10           ` [BUG?] git-archive ignores remote .gitattributes (was: .git/info/attributes not cloned) Toby Corkindale
2008-03-28 12:22             ` Johannes Schindelin
2008-03-28 13:02               ` Jakub Narebski
2008-03-28 13:22                 ` Johannes Schindelin
2008-03-31  2:47               ` Jeff King
2008-03-31  3:07                 ` [BUG?] git-archive ignores remote .gitattributes Junio C Hamano
2008-04-10  4:14               ` Toby Corkindale [this message]

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=47FD9416.1020403@rea-group.com \
    --to=toby.corkindale@rea-group.com \
    --cc=git@vger.kernel.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).