Merge branch 'tf/diff-whitespace-incomplete-line' into maint
[gitweb.git] / Documentation / git-archive.txt
index 41cbf9c0819872a322321455b8a5cb805efcc26b..92444ddf10081ee5faccd28491b47ef1cb45deee 100644 (file)
@@ -9,7 +9,8 @@ git-archive - Create an archive of files from a named tree
 SYNOPSIS
 --------
 [verse]
-'git archive' --format=<fmt> [--list] [--prefix=<prefix>/] [<extra>]
+'git archive' [--format=<fmt>] [--list] [--prefix=<prefix>/] [<extra>]
+             [--output=<file>] [--worktree-attributes]
              [--remote=<repo> [--exec=<git-upload-archive>]] <tree-ish>
              [path...]
 
@@ -22,7 +23,7 @@ prepended to the filenames in the archive.
 
 'git-archive' 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
+used as the 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 if the tar format is used; it can be extracted
@@ -47,12 +48,18 @@ OPTIONS
 --prefix=<prefix>/::
        Prepend <prefix>/ to each filename in the archive.
 
+--output=<file>::
+       Write the archive to <file> instead of stdout.
+
+--worktree-attributes::
+       Look for attributes in .gitattributes in working directory too.
+
 <extra>::
-       This can be any options that the archiver backend understand.
+       This can be any options that the archiver backend understands.
        See next section.
 
 --remote=<repo>::
-       Instead of making a tar archive from local repository,
+       Instead of making a tar archive from the local repository,
        retrieve a tar archive from a remote repository.
 
 --exec=<git-upload-archive>::
@@ -88,12 +95,24 @@ tar.umask::
        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.
+
+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
 --------
 git archive --format=tar --prefix=junk/ HEAD | (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
+       latest commit on the current branch, and extract it in the
        `/var/tmp/junk` directory.
 
 git archive --format=tar --prefix=git-1.4.0/ v1.4.0 | gzip >git-1.4.0.tar.gz::
@@ -110,6 +129,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.