Skip to content

Commit

Permalink
Merge v1.7.10-rc0 for git l10n update
Browse files Browse the repository at this point in the history
  • Loading branch information
Jiang Xin committed Mar 8, 2012
2 parents aa9565f + 56a33c8 commit 13ef396
Show file tree
Hide file tree
Showing 72 changed files with 2,034 additions and 683 deletions.
125 changes: 92 additions & 33 deletions Documentation/RelNotes/1.7.10.txt
Original file line number Diff line number Diff line change
@@ -1,27 +1,54 @@
Git v1.7.10 Release Notes
=========================

Updates since v1.7.9
--------------------
Compatibility Notes
-------------------

UI, Workflows & Features
* From this release on, the "git merge" command in an interactive
session will start an editor when it automatically resolves the
merge for the user to explain the resulting commit, just like the
"git commit" command does when it wasn't given a commit message.

* Improved handling of views, labels and branches in git-p4 (in contrib).
If you have a script that runs "git merge" and keeps its standard
input and output attached to the user's terminal, and if you do not
want the user to explain the resulting merge commits, you can
export GIT_MERGE_AUTOEDIT environment variable set to "no", like
this:

* "git-p4" (in contrib) suffered from unnecessary merge conflicts when
p4 expanded the embedded $RCS$-like keywords; it can be now told to
unexpand them.
#!/bin/sh
GIT_MERGE_AUTOEDIT=no
export GIT_MERGE_AUTOEDIT

* Some "git-svn" updates.
to disable this behaviour (if you want your users to explain their
merge commits, you do not have to do anything). Alternatively, you
can give the "--no-edit" option to individual invocations of the
"git merge" command if you know everybody who uses your script has
Git v1.7.8 or newer.

* "vcs-svn"/"svn-fe" learned to read dumps with svn-deltas and
support incremental imports.

Updates since v1.7.9
--------------------

UI, Workflows & Features

* Teams for localizing the messages from the Porcelain layer of
commands are starting to form, thanks to Jiang Xin who volunteered
to be the localization coordinator. An initial set of translated
messages for simplified chinese is available.

* The configuration mechanism learned an "include" facility; an
assignment to the include.path pseudo-variable causes the named
file to be included in-place when Git looks up configuration
variables.

* A content filter (clean/smudge) used to be just a way to make the
recorded contents "more useful", and allowed to fail; a filter can
new optionally be marked as "required".

* Options whose names begin with "--no-" (e.g. the "--no-verify"
option of the "git commit" command) can be negated by omitting
"no-" from its name, e.g. "git commit --verify".

* "git am" learned to pass "-b" option to underlying "git mailinfo", so
that bracketed string other than "PATCH" at the beginning can be kept.

Expand All @@ -35,18 +62,35 @@ UI, Workflows & Features
lines are taken from the postimage, in order to make it easier to
view the output.

* "git diff --stat" learned to adjust the width of the output on
wider terminals, and give more columns to pathnames as needed.

* "diff-highlight" filter (in contrib/) was updated to produce more
aesthetically pleasing output.

* "fsck" learned "--no-dangling" option to omit dangling object
information.

* "git log -G" learned to pay attention to the "-i" option and can
find patch hunks that introduce or remove a string that matches the
given pattern ignoring the case.

* "git merge" in an interactive session learned to spawn the editor
by default to let the user edit the auto-generated merge message,
to encourage people to explain their merges better. Legacy scripts
can export GIT_MERGE_AUTOEDIT=no to retain the historical behavior.
Both "git merge" and "git pull" can be given --no-edit from the
command line to accept the auto-generated merge message.

* The advise message given when the user didn't give enough clue on
what to merge to "git pull" and "git merge" has been updated to
be more concise and easier to understand.

* "git push" learned the "--prune" option, similar to "git fetch".

* "git symbolic-ref" learned the "--short" option to abbreviate the
refname it shows unambiguously.

* "git tag --list" can be given "--points-at <object>" to limit its
output to those that point at the given object.

Expand All @@ -59,11 +103,29 @@ UI, Workflows & Features
needed (including the ones that are not necessary for a specific
task).

* Project search in "gitweb" shows the substring that matched in the
project name and description highlighted.

Foreign Interface

* Improved handling of views, labels and branches in "git-p4" (in contrib).

* "git-p4" (in contrib) suffered from unnecessary merge conflicts when
p4 expanded the embedded $RCS$-like keywords; it can be now told to
unexpand them.

* Some "git-svn" updates.

* "vcs-svn"/"svn-fe" learned to read dumps with svn-deltas and
support incremental imports.

* "git difftool/mergetool" learned to drive DeltaWalker.

Performance

* During "git upload-pack" in response to "git fetch", unnecessary calls
to parse_object() have been eliminated, to help performance in
repositories with excessive number of refs.
* Unnecessary calls to parse_object() "git upload-pack" makes in
response to "git fetch", have been eliminated, to help performance
in repositories with excessive number of refs.

Internal Implementation (please report possible regressions)

Expand All @@ -84,6 +146,9 @@ Internal Implementation (please report possible regressions)
* t/Makefile is adjusted to prevent newer versions of GNU make from
running tests in seemingly random order.

* The code to check if a path points at a file beyond a symbolic link
has been restructured to be thread-safe.

Also contains minor documentation updates and code clean-ups.


Expand All @@ -94,35 +159,29 @@ Unless otherwise noted, all the fixes since v1.7.9 in the maintenance
releases are contained in this release (see release notes to them for
details).

* The bulk check-in codepath streamed contents that needs
smudge/clean filters without running them, instead of punting and
delegating to the codepath to run filters after slurping everything
to core.
(merge 4f22b10 jk/maint-avoid-streaming-filtered-contents later to maint).

* When the filter driver exits before reading the content before the
main git process writes the contents to be filtered to the pipe to
it, the latter could be killed with SIGPIPE instead of ignoring
such an event as an error.
(merge 6424c2a jb/filter-ignore-sigpipe later to maint).
* "git bundle" did not record boundary commits correctly when there
are many of them.
(merge efe4be1 tr/maint-bundle-boundary later to maint).

* When a remote helper exits before reading the blank line from the
main git process to signal the end of commands, the latter could be
killed with SIGPIPE. Instead we should ignore such event as a
non-error.
(merge c34fe63 sp/smart-http-failure-to-push later to maint).
* "git diff-index" and its friends at the plumbing level showed the
"diff --git" header and nothing else for a path whose cached stat
info is dirty without actual difference when asked to produce a
patch. This was a longstanding bug that we could have fixed long
time ago.
(merge b3f01ff jc/maint-diff-patch-header later to maint).

* "git bundle create" produced a corrupt bundle file upon seeing
commits with excessively long subject line.
(merge 8a557bb tr/maint-bundle-long-subject later to maint).
* The code to synthesize the fake ancestor tree used by 3-way merge
fallback in "git am" was not prepared to read a patch created with
a non-standard -p<num> value.
(merge a61ba26 jc/am-3-nonstandard-popt later to maint).

* "gitweb" used to drop warnings in the log file when "heads" view is
accessed in a repository whose HEAD does not point at a valid
branch.

---
exec >/var/tmp/1
O=v1.7.9.2-301-g507fba2
O=v1.7.9.3-366-g1e4d087
echo O=$(git describe)
git log --first-parent --oneline ^maint $O..
echo
Expand Down
27 changes: 27 additions & 0 deletions Documentation/RelNotes/1.7.9.3.txt
Original file line number Diff line number Diff line change
Expand Up @@ -11,14 +11,41 @@ Fixes since v1.7.9.2
to link the binary with -lintl even when libintl.h is missing from
the system.

* When the filter driver exits before reading the content before the
main git process writes the contents to be filtered to the pipe to
it, the latter could be killed with SIGPIPE instead of ignoring
such an event as an error.

* "git add --refresh <pathspec>" used to warn about unmerged paths
outside the given pathspec.

* The bulk check-in codepath in "git add" streamed contents that
needs smudge/clean filters without running them, instead of punting
and delegating to the codepath to run filters after slurping
everything to core.

* "git branch --with $that" assumed incorrectly that the user will never
ask the question with nonsense value in $that.

* "git bundle create" produced a corrupt bundle file upon seeing
commits with excessively long subject line.

* When a remote helper exits before reading the blank line from the
main git process to signal the end of commands, the latter could be
killed with SIGPIPE. Instead we should ignore such event as a
non-error.

* The commit log template given with "git merge --edit" did not have
a short instructive text like what "git commit" gives.

* "git rev-list --verify-objects -q" omitted the extra verification
it needs to do over "git rev-list --objects -q" by mistake.

* "gitweb" used to drop warnings in the log file when "heads" view is
accessed in a repository whose HEAD does not point at a valid
branch.

* An invalid regular expression pattern given by an end user made
"gitweb" to return garbled response.

Also contains minor fixes and documentation updates.
19 changes: 11 additions & 8 deletions Documentation/config.txt
Original file line number Diff line number Diff line change
Expand Up @@ -12,8 +12,9 @@ The configuration variables are used by both the git plumbing
and the porcelains. The variables are divided into sections, wherein
the fully qualified variable name of the variable itself is the last
dot-separated segment and the section name is everything before the last
dot. The variable names are case-insensitive and only alphanumeric
characters are allowed. Some variables may appear multiple times.
dot. The variable names are case-insensitive, allow only alphanumeric
characters and `-`, and must start with an alphabetic character. Some
variables may appear multiple times.

Syntax
~~~~~~
Expand Down Expand Up @@ -54,9 +55,10 @@ All the other lines (and the remainder of the line after the section
header) are recognized as setting variables, in the form
'name = value'. If there is no equal sign on the line, the entire line
is taken as 'name' and the variable is recognized as boolean "true".
The variable names are case-insensitive and only alphanumeric
characters and `-` are allowed. There can be more than one value
for a given variable; we say then that variable is multivalued.
The variable names are case-insensitive, allow only alphanumeric characters
and `-`, and must start with an alphabetic character. There can be more
than one value for a given variable; we say then that the variable is
multivalued.

Leading and trailing whitespace in a variable value is discarded.
Internal whitespace within a variable value is retained verbatim.
Expand Down Expand Up @@ -1273,9 +1275,10 @@ help.autocorrect::
This is the default.

http.proxy::
Override the HTTP proxy, normally configured using the 'http_proxy'
environment variable (see linkgit:curl[1]). This can be overridden
on a per-remote basis; see remote.<name>.proxy
Override the HTTP proxy, normally configured using the 'http_proxy',
'https_proxy', and 'all_proxy' environment variables (see
`curl(1)`). This can be overridden on a per-remote basis; see
remote.<name>.proxy

http.cookiefile::
File containing previously stored cookie lines which should be used
Expand Down
4 changes: 4 additions & 0 deletions Documentation/diff-config.txt
Original file line number Diff line number Diff line change
Expand Up @@ -52,6 +52,10 @@ directories with less than 10% of the total amount of changed files,
and accumulating child directory counts in the parent directories:
`files,10,cumulative`.

diff.statGraphWidth::
Limit the width of the graph part in --stat output. If set, applies
to all commands generating --stat outuput except format-patch.

diff.external::
If this config variable is set, diff generation is not
performed using the internal diff machinery, but using the
Expand Down
21 changes: 15 additions & 6 deletions Documentation/diff-options.txt
Original file line number Diff line number Diff line change
Expand Up @@ -52,14 +52,23 @@ endif::git-format-patch[]
--patience::
Generate a diff using the "patience diff" algorithm.

--histogram::
Generate a diff using the "histogram diff" algorithm.

--stat[=<width>[,<name-width>[,<count>]]]::
Generate a diffstat. You can override the default
output width for 80-column terminal by `--stat=<width>`.
The width of the filename part can be controlled by
giving another width to it separated by a comma.
Generate a diffstat. By default, as much space as necessary
will be used for the filename part, and the rest for the graph
part. Maximum width defaults to terminal width, or 80 columns
if not connected to a terminal, and can be overriden by
`<width>`. The width of the filename part can be limited by
giving another width `<name-width>` after a comma. The width
of the graph part can be limited by using
`--stat-graph-width=<width>` (affects all commands generating
a stat graph) or by setting `diff.statGraphWidth=<width>`
(does not affect `git format-patch`).
By giving a third parameter `<count>`, you can limit the
output to the first `<count>` lines, followed by
`...` if there are more.
output to the first `<count>` lines, followed by `...` if
there are more.
+
These parameters can also be set individually with `--stat-width=<width>`,
`--stat-name-width=<name-width>` and `--stat-count=<count>`.
Expand Down
7 changes: 5 additions & 2 deletions Documentation/git-config.txt
Original file line number Diff line number Diff line change
Expand Up @@ -85,8 +85,11 @@ OPTIONS
is not exactly one.

--get-regexp::
Like --get-all, but interprets the name as a regular expression.
Also outputs the key names.
Like --get-all, but interprets the name as a regular expression and
writes out the key names. Regular expression matching is currently
case-sensitive and done against a canonicalized version of the key
in which section and variable names are lowercased, but subsection
names are not.

--global::
For writing options: write to global ~/.gitconfig file rather than
Expand Down
7 changes: 6 additions & 1 deletion Documentation/git-fsck.txt
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,7 @@ SYNOPSIS
[verse]
'git fsck' [--tags] [--root] [--unreachable] [--cache] [--no-reflogs]
[--[no-]full] [--strict] [--verbose] [--lost-found]
[--[no-]progress] [<object>*]
[--[no-]dangling] [--[no-]progress] [<object>*]

DESCRIPTION
-----------
Expand All @@ -30,6 +30,11 @@ index file, all SHA1 references in .git/refs/*, and all reflogs (unless
Print out objects that exist but that aren't reachable from any
of the reference nodes.

--dangling::
--no-dangling::
Print objects that exist but that are never 'directly' used (default).
`--no-dangling` can be used to omit this information from the output.

--root::
Report root nodes.

Expand Down
2 changes: 1 addition & 1 deletion Documentation/git-repack.txt
Original file line number Diff line number Diff line change
Expand Up @@ -34,7 +34,7 @@ OPTIONS
Especially useful when packing a repository that is used
for private development. Use
with '-d'. This will clean up the objects that `git prune`
leaves behind, but `git fsck --full` shows as
leaves behind, but `git fsck --full --dangling` shows as
dangling.
+
Note that users fetching over dumb protocols will have to fetch the
Expand Down
7 changes: 6 additions & 1 deletion Documentation/git-symbolic-ref.txt
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,8 @@ git-symbolic-ref - Read and modify symbolic refs
SYNOPSIS
--------
[verse]
'git symbolic-ref' [-q] [-m <reason>] <name> [<ref>]
'git symbolic-ref' [-m <reason>] <name> <ref>
'git symbolic-ref' [-q] [--short] <name>

DESCRIPTION
-----------
Expand All @@ -33,6 +34,10 @@ OPTIONS
symbolic ref but a detached HEAD; instead exit with
non-zero status silently.

--short::
When showing the value of <name> as a symbolic ref, try to shorten the
value, e.g. from `refs/heads/master` to `master`.

-m::
Update the reflog for <name> with <reason>. This is valid only
when creating or updating a symbolic ref.
Expand Down
3 changes: 2 additions & 1 deletion Documentation/git.txt
Original file line number Diff line number Diff line change
Expand Up @@ -44,9 +44,10 @@ unreleased) version of git, that is available from 'master'
branch of the `git.git` repository.
Documentation for older releases are available here:

* link:v1.7.9.2/git.html[documentation for release 1.7.9.2]
* link:v1.7.9.3/git.html[documentation for release 1.7.9.3]

* release notes for
link:RelNotes/1.7.9.3.txt[1.7.9.3],
link:RelNotes/1.7.9.2.txt[1.7.9.2],
link:RelNotes/1.7.9.1.txt[1.7.9.1],
link:RelNotes/1.7.9.txt[1.7.9].
Expand Down
Loading

0 comments on commit 13ef396

Please sign in to comment.