diff options
author | Junio C Hamano <junkio@cox.net> | 2006-12-30 22:42:43 -0800 |
---|---|---|
committer | Junio C Hamano <junkio@cox.net> | 2006-12-30 22:42:43 -0800 |
commit | 76d4e079adba461c127641a1104772a62e38cd81 (patch) | |
tree | 7a8e335ed577aff47b5a80d8de5a6d7904813c02 /Documentation | |
parent | 2c039da804ee0542ff41d2f22a444d04a2d37856 (diff) | |
parent | a862f97e98decc317437fa3b04081f68fb4ffbf3 (diff) | |
download | git-76d4e079adba461c127641a1104772a62e38cd81.tar.gz |
Merge branch 'master' into sp/mmap
* master:
Documentation/config.txt (and repo-config manpage): mark-up fix.
Teach Git how to parse standard power of 2 suffixes.
Use /dev/null for update hook stdin.
Redirect update hook stdout to stderr.
Remove unnecessary argc parameter from run_command_v.
Automatically detect a bare git repository.
Replace "GIT_DIR" with GIT_DIR_ENVIRONMENT.
Use PATH_MAX constant for --bare.
Force core.filemode to false on Cygwin.
Fix formatting for urls section of fetch, pull, and push manpages
Fix yet another subtle xdl_merge() bug
i18n: drop "encoding" header in the output after re-coding.
commit-tree: cope with different ways "utf-8" can be spelled.
Move commit reencoding parameter parsing to revision.c
Documentation: minor rewording for git-log and git-show pages.
Documentation: i18n commit log message notes.
t3900: test log --encoding=none
commit re-encoding: fix confusion between no and default conversion.
Diffstat (limited to 'Documentation')
-rw-r--r-- | Documentation/config.txt | 14 | ||||
-rw-r--r-- | Documentation/git-commit-tree.txt | 5 | ||||
-rw-r--r-- | Documentation/git-commit.txt | 5 | ||||
-rw-r--r-- | Documentation/git-log.txt | 10 | ||||
-rw-r--r-- | Documentation/git-repo-config.txt | 5 | ||||
-rw-r--r-- | Documentation/git-rev-list.txt | 1 | ||||
-rw-r--r-- | Documentation/git-show.txt | 15 | ||||
-rw-r--r-- | Documentation/i18n.txt | 57 | ||||
-rw-r--r-- | Documentation/pretty-formats.txt | 7 | ||||
-rw-r--r-- | Documentation/urls.txt | 23 |
10 files changed, 122 insertions, 20 deletions
diff --git a/Documentation/config.txt b/Documentation/config.txt index d71653dc65..744484b982 100644 --- a/Documentation/config.txt +++ b/Documentation/config.txt @@ -82,13 +82,13 @@ core.logAllRefUpdates:: only when the file exists. If this configuration variable is set to true, missing "$GIT_DIR/logs/<ref>" file is automatically created for branch heads. - - This information can be used to determine what commit - was the tip of a branch "2 days ago". - - This value is true by default in a repository that has - a working directory associated with it, and false by - default in a bare repository. ++ +This information can be used to determine what commit +was the tip of a branch "2 days ago". ++ +This value is true by default in a repository that has +a working directory associated with it, and false by +default in a bare repository. core.repositoryFormatVersion:: Internal variable identifying the repository format and layout diff --git a/Documentation/git-commit-tree.txt b/Documentation/git-commit-tree.txt index 41d1a1c4b3..77ba96ed8a 100644 --- a/Documentation/git-commit-tree.txt +++ b/Documentation/git-commit-tree.txt @@ -81,6 +81,11 @@ Your parents must have hated you!:: Your sysadmin must hate you!:: The password(5) name field is longer than a giant static buffer. +Discussion +---------- + +include::i18n.txt[] + See Also -------- gitlink:git-write-tree[1] diff --git a/Documentation/git-commit.txt b/Documentation/git-commit.txt index 0b74cd708e..a7adf24fa5 100644 --- a/Documentation/git-commit.txt +++ b/Documentation/git-commit.txt @@ -223,6 +223,11 @@ should be recorded as a single commit. In fact, the command refuses to run when given pathnames (but see `-i` option). +DISCUSSION +---------- + +include::i18n.txt[] + ENVIRONMENT VARIABLES --------------------- The command specified by either the VISUAL or EDITOR environment diff --git a/Documentation/git-log.txt b/Documentation/git-log.txt index 79643ac928..e9f746bbd4 100644 --- a/Documentation/git-log.txt +++ b/Documentation/git-log.txt @@ -31,7 +31,9 @@ include::pretty-formats.txt[] Limits the number of commits to show. <since>..<until>:: - Show only commits between the named two commits. + Show only commits between the named two commits. When + either <since> or <until> is omitted, it defaults to + `HEAD`, i.e. the tip of the current branch. -p:: Show the change the commit introduces in a patch form. @@ -63,6 +65,12 @@ git log -r --name-status release..test:: in the "release" branch, along with the list of paths each commit modifies. +Discussion +---------- + +include::i18n.txt[] + + Author ------ Written by Linus Torvalds <torvalds@osdl.org> diff --git a/Documentation/git-repo-config.txt b/Documentation/git-repo-config.txt index b379ec5075..c55a8ba0dc 100644 --- a/Documentation/git-repo-config.txt +++ b/Documentation/git-repo-config.txt @@ -87,7 +87,10 @@ OPTIONS git-repo-config will ensure that the output is "true" or "false" --int:: - git-repo-config will ensure that the output is a simple decimal number + git-repo-config will ensure that the output is a simple + decimal number. An optional value suffix of 'k', 'm', or 'g' + in the config file will cause the value to be multiplied + by 1024, 1048576, or 1073741824 prior to output. ENVIRONMENT diff --git a/Documentation/git-rev-list.txt b/Documentation/git-rev-list.txt index 9e0dcf8d3f..86c94e7dfd 100644 --- a/Documentation/git-rev-list.txt +++ b/Documentation/git-rev-list.txt @@ -21,6 +21,7 @@ SYNOPSIS [ \--stdin ] [ \--topo-order ] [ \--parents ] + [ \--encoding[=<encoding>] ] [ \--(author|committer|grep)=<pattern> ] [ [\--objects | \--objects-edge] [ \--unpacked ] ] [ \--pretty | \--header ] diff --git a/Documentation/git-show.txt b/Documentation/git-show.txt index 98dea6125d..c210b9af6b 100644 --- a/Documentation/git-show.txt +++ b/Documentation/git-show.txt @@ -30,8 +30,8 @@ This manual page describes only the most frequently used options. OPTIONS ------- -<commitid>:: - ID of the commit to show. +<object>:: + The name of the object to show. include::pretty-formats.txt[] @@ -40,7 +40,8 @@ EXAMPLES -------- git show v1.0.0:: - Shows the tag `v1.0.0`. + Shows the tag `v1.0.0`, along with the object the tags + points at. git show v1.0.0^{tree}:: Shows the tree pointed to by the tag `v1.0.0`. @@ -54,10 +55,16 @@ git show master:Makefile master:t/Makefile Concatenates the contents of said Makefiles in the head of the branch `master`. +Discussion +---------- + +include::i18n.txt[] + Author ------ Written by Linus Torvalds <torvalds@osdl.org> and -Junio C Hamano <junkio@cox.net> +Junio C Hamano <junkio@cox.net>. Significantly enhanced by +Johannes Schindelin <Johannes.Schindelin@gmx.de>. Documentation diff --git a/Documentation/i18n.txt b/Documentation/i18n.txt new file mode 100644 index 0000000000..b4cbb3830e --- /dev/null +++ b/Documentation/i18n.txt @@ -0,0 +1,57 @@ +At the core level, git is character encoding agnostic. + + - The pathnames recorded in the index and in the tree objects + are treated as uninterpreted sequences of non-NUL bytes. + What readdir(2) returns are what are recorded and compared + with the data git keeps track of, which in turn are expected + to be what lstat(2) and creat(2) accepts. There is no such + thing as pathname encoding translation. + + - The contents of the blob objects are uninterpreted sequence + of bytes. There is no encoding translation at the core + level. + + - The commit log messages are uninterpreted sequence of non-NUL + bytes. + +Although we encourage that the commit log messages are encoded +in UTF-8, both the core and git Porcelain are designed not to +force UTF-8 on projects. If all participants of a particular +project find it more convenient to use legacy encodings, git +does not forbid it. However, there are a few things to keep in +mind. + +. `git-commit-tree` (hence, `git-commit` which uses it) issues + an warning if the commit log message given to it does not look + like a valid UTF-8 string, unless you explicitly say your + project uses a legacy encoding. The way to say this is to + have core.commitencoding in `.git/config` file, like this: ++ +------------ +[core] + commitencoding = ISO-8859-1 +------------ ++ +Commit objects created with the above setting record the value +of `core.commitencoding` in its `encoding` header. This is to +help other people who look at them later. Lack of this header +implies that the commit log message is encoded in UTF-8. + +. `git-log`, `git-show` and friends looks at the `encoding` + header of a commit object, and tries to re-code the log + message into UTF-8 unless otherwise specified. You can + specify the desired output encoding with + `core.logoutputencoding` in `.git/config` file, like this: ++ +------------ +[core] + logoutputencoding = ISO-8859-1 +------------ ++ +If you do not have this configuration variable, the value of +`core.commitencoding` is used instead. + +Note that we deliberately chose not to re-code the commit log +message when a commit is made to force UTF-8 at the commit +object level, because re-coding to UTF-8 is not necessarily a +reversible operation. diff --git a/Documentation/pretty-formats.txt b/Documentation/pretty-formats.txt index 996f628903..fb0b0b9582 100644 --- a/Documentation/pretty-formats.txt +++ b/Documentation/pretty-formats.txt @@ -76,3 +76,10 @@ displayed in full, regardless of whether --abbrev or --no-abbrev are used, and 'parents' information show the true parent commits, without taking grafts nor history simplification into account. + +--encoding[=<encoding>]:: + The commit objects record the encoding used for the log message + in their encoding header; this option can be used to tell the + command to re-code the commit log message in the encoding + preferred by the user. For non plumbing commands this + defaults to UTF-8. diff --git a/Documentation/urls.txt b/Documentation/urls.txt index 670827c323..870c95073b 100644 --- a/Documentation/urls.txt +++ b/Documentation/urls.txt @@ -40,9 +40,11 @@ In addition to the above, as a short-hand, the name of a file in `$GIT_DIR/remotes` directory can be given; the named file should be in the following format: - URL: one of the above URL format - Push: <refspec> - Pull: <refspec> +------------ +URL: one of the above URL format +Push: <refspec> +Pull: <refspec> +------------ Then such a short-hand is specified in place of <repository> without <refspec> parameters on the command @@ -54,10 +56,12 @@ be specified for additional branch mappings. Or, equivalently, in the `$GIT_DIR/config` (note the use of `fetch` instead of `Pull:`): +------------ [remote "<remote>"] url = <url> push = <refspec> fetch = <refspec> +------------ The name of a file in `$GIT_DIR/branches` directory can be specified as an older notation short-hand; the named @@ -68,10 +72,15 @@ name of remote head (URL fragment notation). without the fragment is equivalent to have this in the corresponding file in the `$GIT_DIR/remotes/` directory. - URL: <url> - Pull: refs/heads/master:<remote> +------------ +URL: <url> +Pull: refs/heads/master:<remote> +------------ + while having `<url>#<head>` is equivalent to - URL: <url> - Pull: refs/heads/<head>:<remote> +------------ +URL: <url> +Pull: refs/heads/<head>:<remote> +------------ |