git-tar-tree(1)
===============

NAME
----
git-tar-tree - Create a tar archive of the files in the named tree object


SYNOPSIS
--------
'git tar-tree' [--remote=<repo>] <tree-ish> [ <base> ]

DESCRIPTION
-----------
THIS COMMAND IS DEPRECATED.  Use 'git archive' with `--format=tar`
option instead (and move the <base> argument to `--prefix=base/`).

Creates a tar archive containing the tree structure for the named tree.
When <base> is specified it is added as a leading path to the files in the
generated tar archive.

'git tar-tree' behaves differently when given a tree ID versus when given
a commit ID or tag ID.  In the first case the current time is used as
modification time of each file in the archive.  In the latter case the
commit time as recorded in the referenced commit object is used instead.
Additionally the commit ID is stored in a global extended pax header.
It can be extracted using 'git get-tar-commit-id'.

OPTIONS
-------

<tree-ish>::
	The tree or commit to produce tar archive for.  If it is
	the object name of a commit object.

<base>::
	Leading path to the files in the resulting tar archive.

--remote=<repo>::
	Instead of making a tar archive from local repository,
	retrieve a tar archive from a remote repository.

CONFIGURATION
-------------

tar.umask::
	This variable can be used to restrict the permission bits of
	tar archive entries.  The default is 0002, which turns off the
	world write bit.  The special value "user" indicates that the
	archiving user's umask will be used instead.  See umask(2) for
	details.

EXAMPLES
--------
git tar-tree HEAD junk | (cd /var/tmp/ && tar xf -)::

	Create a tar archive that contains the contents of the
	latest commit on the current branch, and extracts it in
	`/var/tmp/junk` directory.

git tar-tree v1.4.0 git-1.4.0 | gzip >git-1.4.0.tar.gz::

	Create a tarball for v1.4.0 release.

git tar-tree v1.4.0{caret}\{tree\} git-1.4.0 | gzip >git-1.4.0.tar.gz::

	Create a tarball for v1.4.0 release, but without a
	global extended pax header.

git tar-tree --remote=example.com:git.git v1.4.0 >git-1.4.0.tar::

	Get a tarball v1.4.0 from example.com.

git tar-tree HEAD:Documentation/ git-docs > git-1.4.0-docs.tar::

	Put everything in the current head's Documentation/ directory
	into 'git-1.4.0-docs.tar', with the prefix 'git-docs/'.

GIT
---
Part of the linkgit:git[1] suite
