threads / discuss / 12625

How to archive repo from sub-directory

Subject: How to archive repo from sub-directory

## tl;dr

2 messages between Mar 11, 2008 and Mar 11, 2008.

replies: 1people: 2as markdown or json

Bill Lear· Mar 11, 2008, 00:33 UTC · lore

If I have a git repo with several levels of sub-directories, how do I get git-archive to archive the entire tree, and not just the tree from where I am? Example:

% cd foo % cat .git/description foo project % cd bar/baz % git archive --format=tar --prefix=foo/ HEAD | bzip2 > foo.tar.bz2

produces a tar file starting only at baz.

If I can't conjur this on the command line with a clever argument to git archive (I've tried several), then how would I ask git "What is your top-level directory" so at least I could write a script to do this?

Bill
Nguyen Thai Ngoc Duy· Mar 11, 2008, 03:22 UTC · re: Bill Lear · lore

Re: How to archive repo from sub-directory

On Tue, Mar 11, 2008 at 7:33 AM, Bill Lear <rael@zopyra.com> wrote:
Show 16 quoted lines
> If I have a git repo with several levels of sub-directories, how
>  do I get git-archive to archive the entire tree, and not just
>  the tree from where I am?  Example:
>
>  % cd foo
>  % cat .git/description
>  foo project
>  % cd bar/baz
>  % git archive --format=tar --prefix=foo/ HEAD | bzip2 > foo.tar.bz2
>
>  produces a tar file starting only at baz.
>
>  If I can't conjur this on the command line with a clever argument to
>  git archive (I've tried several), then how would I ask git "What is
>  your top-level directory" so at least I could write a script to
>  do this?

You can move back to top-level dir with "cd $(git rev-parse --show-cdup)". Another way is take "git rev-parse --show-prefix" result (which would be "bar/baz/") and process it yourself.

-- 
Duy

← back to recent threads