http_init(): Fix config file parsing
[gitweb.git] / Documentation / git-archive.txt
index 59dfabed23696fda20d036305c98d213de2b8b9c..0eeefe00603814fcabc7d537d5c04e5801591c56 100644 (file)
@@ -3,18 +3,22 @@ git-archive(1)
 
 NAME
 ----
-git-archive - Creates an archive of files from a named tree
+git-archive - Create an archive of files from a named tree
 
 
 SYNOPSIS
 --------
-'git-archive' --format=<fmt> [--list] [--prefix=<prefix>/] [<extra>]
-             [--remote=<repo>] <tree-ish> [path...]
+[verse]
+'git archive' --format=<fmt> [--list] [--prefix=<prefix>/] [<extra>]
+             [--output=<file>]
+             [--remote=<repo> [--exec=<git-upload-archive>]] <tree-ish>
+             [path...]
 
 DESCRIPTION
 -----------
 Creates an archive of the specified format containing the tree
-structure for the named tree.  If <prefix> is specified it is
+structure for the named tree, and writes it out to the standard
+output.  If <prefix> is specified it is
 prepended to the filenames in the archive.
 
 'git-archive' behaves differently when given a tree ID versus when
@@ -30,17 +34,23 @@ OPTIONS
 -------
 
 --format=<fmt>::
-       Format of the resulting archive: 'tar', 'zip'...
+       Format of the resulting archive: 'tar' or 'zip'.  The default
+       is 'tar'.
 
---list, -l::
+-l::
+--list::
        Show all available formats.
 
---verbose, -v::
+-v::
+--verbose::
        Report progress to stderr.
 
 --prefix=<prefix>/::
        Prepend <prefix>/ to each filename in the archive.
 
+--output=<file>::
+       Write the archive to <file> instead of stdout.
+
 <extra>::
        This can be any options that the archiver backend understand.
        See next section.
@@ -49,6 +59,10 @@ OPTIONS
        Instead of making a tar archive from local repository,
        retrieve a tar archive from a remote repository.
 
+--exec=<git-upload-archive>::
+       Used with --remote to specify the path to the
+       'git-upload-archive' on the remote side.
+
 <tree-ish>::
        The tree or commit to produce an archive for.
 
@@ -70,16 +84,25 @@ zip
 
 CONFIGURATION
 -------------
-By default, file and directories modes are set to 0666 or 0777 in tar
-archives.  It is possible to change this by setting the "umask" variable
-in the repository configuration as follows :
 
-[tar]
-        umask = 002    ;# group friendly
+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.
+
+ATTRIBUTES
+----------
+
+export-ignore::
+       Files and directories with the attribute export-ignore won't be
+       added to archive files.  See linkgit:gitattributes[5] for details.
 
-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.
+export-subst::
+       If the attribute export-subst is set for a file then git will
+       expand several placeholders when adding this file to an archive.
+       See linkgit:gitattributes[5] for details.
 
 EXAMPLES
 --------
@@ -103,6 +126,11 @@ git archive --format=zip --prefix=git-docs/ HEAD:Documentation/ > git-1.4.0-docs
        Put everything in the current head's Documentation/ directory
        into 'git-1.4.0-docs.zip', with the prefix 'git-docs/'.
 
+
+SEE ALSO
+--------
+linkgit:gitattributes[5]
+
 Author
 ------
 Written by Franck Bui-Huu and Rene Scharfe.
@@ -113,4 +141,4 @@ Documentation by David Greaves, Junio C Hamano and the git-list <git@vger.kernel
 
 GIT
 ---
-Part of the gitlink:git[7] suite
+Part of the linkgit:git[1] suite