mirror of
https://github.com/git/git
synced 2024-08-27 19:49:21 +00:00
![Jeff King](/assets/img/avatar_default.png)
In asciidoc 7, backticks like `foo` produced a typographic effect, but did not otherwise affect the syntax. In asciidoc 8, backticks introduce an "inline literal" inside which markup is not interpreted. To keep compatibility with existing documents, asciidoc 8 has a "no-inline-literal" attribute to keep the old behavior. We enabled this so that the documentation could be built on either version. It has been several years now, and asciidoc 7 is no longer in wide use. We can now decide whether or not we want inline literals on their own merits, which are: 1. The source is much easier to read when the literal contains punctuation. You can use `master~1` instead of `master{tilde}1`. 2. They are less error-prone. Because of point (1), we tend to make mistakes and forget the extra layer of quoting. This patch removes the no-inline-literal attribute from the Makefile and converts every use of backticks in the documentation to an inline literal (they must be cleaned up, or the example above would literally show "{tilde}" in the output). Problematic sites were found by grepping for '`.*[{\\]' and examined and fixed manually. The results were then verified by comparing the output of "html2text" on the set of generated html pages. Doing so revealed that in addition to making the source more readable, this patch fixes several formatting bugs: - HTML rendering used the ellipsis character instead of literal "..." in code examples (like "git log A...B") - some code examples used the right-arrow character instead of '->' because they failed to quote - api-config.txt did not quote tilde, and the resulting HTML contained a bogus snippet like: <tt><sub></tt> foo <tt></sub>bar</tt> which caused some parsers to choke and omit whole sections of the page. - git-commit.txt confused ``foo`` (backticks inside a literal) with ``foo'' (matched double-quotes) - mentions of `A U Thor <author@example.com>` used to erroneously auto-generate a mailto footnote for author@example.com - the description of --word-diff=plain incorrectly showed the output as "[-removed-] and {added}", not "{+added+}". - using "prime" notation like: commit `C` and its replacement `C'` confused asciidoc into thinking that everything between the first backtick and the final apostrophe were meant to be inside matched quotes - asciidoc got confused by the escaping of some of our asterisks. In particular, `credential.\*` and `credential.<url>.\*` properly escaped the asterisk in the first case, but literally passed through the backslash in the second case. Signed-off-by: Jeff King <peff@peff.net> Signed-off-by: Junio C Hamano <gitster@pobox.com>
83 lines
2.3 KiB
Plaintext
83 lines
2.3 KiB
Plaintext
git-tar-tree(1)
|
|
===============
|
|
|
|
NAME
|
|
----
|
|
git-tar-tree - Create a tar archive of the files in the named tree object
|
|
|
|
|
|
SYNOPSIS
|
|
--------
|
|
[verse]
|
|
'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^{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
|