Merge branch 'gl/web'
[gitweb.git] / Documentation / git-tar-tree.txt
index 7870e92ae9b394b80a0a0dfcfc888971eb00c356..1e1c7fa856a2b80bb839da805aa57d43f65f968e 100644 (file)
@@ -1,6 +1,5 @@
 git-tar-tree(1)
 ===============
-v0.1, May 2005
 
 NAME
 ----
@@ -9,18 +8,77 @@ git-tar-tree - Creates a tar archive of the files in the named tree
 
 SYNOPSIS
 --------
-'git-tar-tree' <tree-ish> [ <base> ]
+'git-tar-tree' [--remote=<repo>] <tree-ish> [ <base> ]
 
 DESCRIPTION
 -----------
 Creates a tar archive containing the tree structure for the named tree.
-When <base> is specified it is added as a leading path as the files in the
+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
+-------------
+By default, file and directories modes are set to 0666 or 0777. It is
+possible to change this by setting the "umask" variable in the
+repository configuration as follows :
+
+[tar]
+        umask = 002    ;# group friendly
+
+The special umask value "user" indicates that the user's current umask
+will be used instead. The default value remains 0, which means world
+readable/writable files and directories.
+
+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/'.
 
 Author
 ------
-Written by Linus Torvalds <torvalds@osdl.org>
+Written by Rene Scharfe.
 
 Documentation
 --------------
@@ -28,5 +86,5 @@ Documentation by David Greaves, Junio C Hamano and the git-list <git@vger.kernel
 
 GIT
 ---
-Part of the link:git.html[git] suite
+Part of the gitlink:git[7] suite