Skip to content

Commit 508d124

Browse files
committed
Merge branch 'master' into git-po
2 parents 0ad9e96 + 25a7850 commit 508d124

File tree

201 files changed

+4948
-1989
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

201 files changed

+4948
-1989
lines changed

Documentation/CodingGuidelines

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -35,10 +35,22 @@ For shell scripts specifically (not exhaustive):
3535

3636
- Case arms are indented at the same depth as case and esac lines.
3737

38+
- Redirection operators should be written with space before, but no
39+
space after them. In other words, write 'echo test >"$file"'
40+
instead of 'echo test> $file' or 'echo test > $file'. Note that
41+
even though it is not required by POSIX to double-quote the
42+
redirection target in a variable (as shown above), our code does so
43+
because some versions of bash issue a warning without the quotes.
44+
3845
- We prefer $( ... ) for command substitution; unlike ``, it
3946
properly nests. It should have been the way Bourne spelled
4047
it from day one, but unfortunately isn't.
4148

49+
- If you want to find out if a command is available on the user's
50+
$PATH, you should use 'type <command>', instead of 'which <command>'.
51+
The output of 'which' is not machine parseable and its exit code
52+
is not reliable across platforms.
53+
4254
- We use POSIX compliant parameter substitutions and avoid bashisms;
4355
namely:
4456

Documentation/RelNotes/1.7.10.txt

Lines changed: 59 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -8,9 +8,20 @@ UI, Workflows & Features
88

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

11+
* "git-p4" (in contrib) suffered from unnecessary merge conflicts when
12+
p4 expanded the embedded $RCS$-like keywords; it can be now told to
13+
unexpand them.
14+
15+
* Some "git-svn" updates.
16+
1117
* "vcs-svn"/"svn-fe" learned to read dumps with svn-deltas and
1218
support incremental imports.
1319

20+
* The configuration mechanism learned an "include" facility; an
21+
assignment to the include.path pseudo-variable causes the named
22+
file to be included in-place when Git looks up configuration
23+
variables.
24+
1425
* "git am" learned to pass "-b" option to underlying "git mailinfo", so
1526
that bracketed string other than "PATCH" at the beginning can be kept.
1627

@@ -24,31 +35,52 @@ UI, Workflows & Features
2435
lines are taken from the postimage, in order to make it easier to
2536
view the output.
2637

38+
* "diff-highlight" filter (in contrib/) was updated to produce more
39+
aesthetically pleasing output.
40+
2741
* "git merge" in an interactive session learned to spawn the editor
2842
by default to let the user edit the auto-generated merge message,
2943
to encourage people to explain their merges better. Legacy scripts
30-
can export MERGE_AUTOEDIT=no to retain the historical behaviour.
44+
can export GIT_MERGE_AUTOEDIT=no to retain the historical behavior.
45+
Both "git merge" and "git pull" can be given --no-edit from the
46+
command line to accept the auto-generated merge message.
47+
48+
* "git push" learned the "--prune" option, similar to "git fetch".
49+
50+
* "git tag --list" can be given "--points-at <object>" to limit its
51+
output to those that point at the given object.
3152

3253
* "gitweb" allows intermediate entries in the directory hierarchy
3354
that leads to a projects to be clicked, which in turn shows the
3455
list of projects inside that directory.
3556

57+
* "gitweb" learned to read various pieces of information for the
58+
repositories lazily, instead of reading everything that could be
59+
needed (including the ones that are not necessary for a specific
60+
task).
61+
3662
Performance
3763

38-
* During "git upload-pack" in respose to "git fetch", unnecessary calls
64+
* During "git upload-pack" in response to "git fetch", unnecessary calls
3965
to parse_object() have been eliminated, to help performance in
4066
repositories with excessive number of refs.
4167

42-
Internal Implementation
68+
Internal Implementation (please report possible regressions)
4369

4470
* Recursive call chains in "git index-pack" to deal with long delta
4571
chains have been flattened, to reduce the stack footprint.
4672

47-
* Use of add_extra_ref() API is slowly getting removed, to make it
48-
possible to cleanly restructure the overall refs API.
73+
* Use of add_extra_ref() API is now gone, to make it possible to
74+
cleanly restructure the overall refs API.
75+
76+
* The command line parser of "git pack-objects" now uses parse-options
77+
API.
4978

5079
* The test suite supports the new "test_pause" helper function.
5180

81+
* Parallel to the test suite, there is a beginning of performance
82+
benchmarking framework.
83+
5284
* t/Makefile is adjusted to prevent newer versions of GNU make from
5385
running tests in seemingly random order.
5486

@@ -62,30 +94,35 @@ Unless otherwise noted, all the fixes since v1.7.9 in the maintenance
6294
releases are contained in this release (see release notes to them for
6395
details).
6496

65-
* "add -e" learned not to show a diff for an otherwise unmodified
66-
submodule that only has uncommitted local changes in the patch
67-
prepared by for the user to edit.
68-
(merge 701825d js/add-e-submodule-fix later to maint).
97+
* The bulk check-in codepath streamed contents that needs
98+
smudge/clean filters without running them, instead of punting and
99+
delegating to the codepath to run filters after slurping everything
100+
to core.
101+
(merge 4f22b10 jk/maint-avoid-streaming-filtered-contents later to maint).
69102

70-
* "rebase" and "commit --amend" failed to work on commits with ancient
71-
timestamps near year 1970.
72-
(merge 2c733fb jc/parse-date-raw later to maint).
103+
* When the filter driver exits before reading the content before the
104+
main git process writes the contents to be filtered to the pipe to
105+
it, the latter could be killed with SIGPIPE instead of ignoring
106+
such an event as an error.
107+
(merge 6424c2a jb/filter-ignore-sigpipe later to maint).
73108

74-
* "git merge --ff-only $tag" failed because it cannot record the
75-
required mergetag without creating a merge, but this is so common
76-
operation for branch that is used _only_ to follow the upstream, so
77-
it is allowed to fast-forward without recording the mergetag.
78-
(merge b5c9f1c jc/merge-ff-only-stronger-than-signed-merge later to maint).
109+
* When a remote helper exits before reading the blank line from the
110+
main git process to signal the end of commands, the latter could be
111+
killed with SIGPIPE. Instead we should ignore such event as a
112+
non-error.
113+
(merge c34fe63 sp/smart-http-failure-to-push later to maint).
79114

80-
* Typo in "git branch --edit-description my-tpoic" was not diagnosed.
81-
(merge c2d17ba jc/branch-desc-typoavoidance later to maint).
115+
* "git bundle create" produced a corrupt bundle file upon seeing
116+
commits with excessively long subject line.
117+
(merge 8a557bb tr/maint-bundle-long-subject later to maint).
82118

83-
* rpmbuild noticed an unpackaged but installed *.mo file and failed.
84-
(merge 3a9f58c jn/rpm-spec later to maint).
119+
* "gitweb" used to drop warnings in the log file when "heads" view is
120+
accessed in a repository whose HEAD does not point at a valid
121+
branch.
85122

86123
---
87124
exec >/var/tmp/1
88-
O=v1.7.9-208-gee8d52f
125+
O=v1.7.9.2-301-g507fba2
89126
echo O=$(git describe)
90127
git log --first-parent --oneline ^maint $O..
91128
echo

Documentation/RelNotes/1.7.8.5.txt

Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,19 @@
1+
Git v1.7.8.5 Release Notes
2+
==========================
3+
4+
Fixes since v1.7.8.4
5+
--------------------
6+
7+
* Dependency on our thread-utils.h header file was missing for
8+
objects that depend on it in the Makefile.
9+
10+
* "git am" when fed an empty file did not correctly finish reading it
11+
when it attempts to guess the input format.
12+
13+
* "git grep -P" (when PCRE is enabled in the build) did not match the
14+
beginning and the end of the line correctly with ^ and $.
15+
16+
* "git rebase -m" tried to run "git notes copy" needlessly when
17+
nothing was rewritten.
18+
19+
Also contains minor fixes and documentation updates.

Documentation/RelNotes/1.7.9.1.txt

Lines changed: 30 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -4,9 +4,24 @@ Git v1.7.9.1 Release Notes
44
Fixes since v1.7.9
55
------------------
66

7+
* The makefile allowed environment variable X seep into it result in
8+
command names suffixed with unnecessary strings.
9+
10+
* The set of included header files in compat/inet-{ntop,pton}
11+
wrappers was updated for Windows some time ago, but in a way that
12+
broke Solaris build.
13+
14+
* rpmbuild noticed an unpackaged but installed *.mo file and failed.
15+
716
* Subprocesses spawned from various git programs were often left running
817
to completion even when the top-level process was killed.
918

19+
* "git add -e" learned not to show a diff for an otherwise unmodified
20+
submodule that only has uncommitted local changes in the patch
21+
prepared by for the user to edit.
22+
23+
* Typo in "git branch --edit-description my-tpoic" was not diagnosed.
24+
1025
* Using "git grep -l/-L" together with options -W or --break may not
1126
make much sense as the output is to only count the number of hits
1227
and there is no place for file breaks, but the latter options made
@@ -16,15 +31,25 @@ Fixes since v1.7.9
1631
chain and veered into side branch from which the whole change to the
1732
specified paths came.
1833

19-
* "git push -q" was not sufficiently quiet.
34+
* "git merge --no-edit $tag" failed to honor the --no-edit option.
2035

21-
* When "git push" fails to update any refs, the client side did not
22-
report an error correctly to the end user.
36+
* "git merge --ff-only $tag" failed because it cannot record the
37+
required mergetag without creating a merge, but this is so common
38+
operation for branch that is used _only_ to follow the upstream, so
39+
it was changed to allow fast-forwarding without recording the mergetag.
2340

2441
* "git mergetool" now gives an empty file as the common base version
2542
to the backend when dealing with the "both sides added, differently"
2643
case.
2744

45+
* "git push -q" was not sufficiently quiet.
46+
47+
* When "git push" fails to update any refs, the client side did not
48+
report an error correctly to the end user.
49+
50+
* "rebase" and "commit --amend" failed to work on commits with ancient
51+
timestamps near year 1970.
52+
2853
* When asking for a tag to be pulled, "request-pull" did not show the
2954
name of the tag prefixed with "tags/", which would have helped older
3055
clients.
@@ -33,4 +58,6 @@ Fixes since v1.7.9
3358
in .gitmodules when the submodule at $path was once added to the
3459
superproject and already initialized.
3560

61+
* Many small corner case bugs on "git tag -n" was corrected.
62+
3663
Also contains minor fixes and documentation updates.

Documentation/RelNotes/1.7.9.2.txt

Lines changed: 69 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,69 @@
1+
Git v1.7.9.2 Release Notes
2+
==========================
3+
4+
Fixes since v1.7.9.1
5+
--------------------
6+
7+
* Bash completion script (in contrib/) did not like a pattern that
8+
begins with a dash to be passed to __git_ps1 helper function.
9+
10+
* Adaptation of the bash completion script (in contrib/) for zsh
11+
incorrectly listed all subcommands when "git <TAB><TAB>" was given
12+
to ask for list of porcelain subcommands.
13+
14+
* The build procedure for profile-directed optimized binary was not
15+
working very well.
16+
17+
* Some systems need to explicitly link -lcharset to get locale_charset().
18+
19+
* t5541 ignored user-supplied port number used for HTTP server testing.
20+
21+
* The error message emitted when we see an empty loose object was
22+
not phrased correctly.
23+
24+
* The code to ask for password did not fall back to the terminal
25+
input when GIT_ASKPASS is set but does not work (e.g. lack of X
26+
with GUI askpass helper).
27+
28+
* We failed to give the true terminal width to any subcommand when
29+
they are invoked with the pager, i.e. "git -p cmd".
30+
31+
* map_user() was not rewriting its output correctly, which resulted
32+
in the user visible symptom that "git blame -e" sometimes showed
33+
excess '>' at the end of email addresses.
34+
35+
* "git checkout -b" did not allow switching out of an unborn branch.
36+
37+
* When you have both .../foo and .../foo.git, "git clone .../foo" did not
38+
favor the former but the latter.
39+
40+
* "git commit" refused to create a commit when entries added with
41+
"add -N" remained in the index, without telling Git what their content
42+
in the next commit should be. We should have created the commit without
43+
these paths.
44+
45+
* "git diff --stat" said "files", "insertions", and "deletions" even
46+
when it is showing one "file", one "insertion" or one "deletion".
47+
48+
* The output from "git diff --stat" for two paths that have the same
49+
amount of changes showed graph bars of different length due to the
50+
way we handled rounding errors.
51+
52+
* "git grep" did not pay attention to -diff (hence -binary) attribute.
53+
54+
* The transport programs (fetch, push, clone)ignored --no-progress
55+
and showed progress when sending their output to a terminal.
56+
57+
* Sometimes error status detected by a check in an earlier phase of
58+
"git receive-pack" (the other end of "git push") was lost by later
59+
checks, resulting in false indication of success.
60+
61+
* "git rev-list --verify" sometimes skipped verification depending on
62+
the phase of the moon, which dates back to 1.7.8.x series.
63+
64+
* Search box in "gitweb" did not accept non-ASCII characters correctly.
65+
66+
* Search interface of "gitweb" did not show multiple matches in the same file
67+
correctly.
68+
69+
Also contains minor fixes and documentation updates.

Documentation/RelNotes/1.7.9.3.txt

Lines changed: 24 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,24 @@
1+
Git v1.7.9.3 Release Notes
2+
==========================
3+
4+
Fixes since v1.7.9.2
5+
--------------------
6+
7+
* "git p4" (in contrib/) submit the changes to a wrong place when the
8+
"--use-client-spec" option is set.
9+
10+
* The config.mak.autogen generated by optional autoconf support tried
11+
to link the binary with -lintl even when libintl.h is missing from
12+
the system.
13+
14+
* "git add --refresh <pathspec>" used to warn about unmerged paths
15+
outside the given pathspec.
16+
17+
* The commit log template given with "git merge --edit" did not have
18+
a short instructive text like what "git commit" gives.
19+
20+
* "gitweb" used to drop warnings in the log file when "heads" view is
21+
accessed in a repository whose HEAD does not point at a valid
22+
branch.
23+
24+
Also contains minor fixes and documentation updates.

Documentation/config.txt

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -84,6 +84,17 @@ customary UNIX fashion.
8484

8585
Some variables may require a special value format.
8686

87+
Includes
88+
~~~~~~~~
89+
90+
You can include one config file from another by setting the special
91+
`include.path` variable to the name of the file to be included. The
92+
included file is expanded immediately, as if its contents had been
93+
found at the location of the include directive. If the value of the
94+
`include.path` variable is a relative path, the path is considered to be
95+
relative to the configuration file in which the include directive was
96+
found. See below for examples.
97+
8798
Example
8899
~~~~~~~
89100

@@ -106,6 +117,10 @@ Example
106117
gitProxy="ssh" for "kernel.org"
107118
gitProxy=default-proxy ; for the rest
108119

120+
[include]
121+
path = /path/to/foo.inc ; include by absolute path
122+
path = foo ; expand "foo" relative to the current file
123+
109124
Variables
110125
~~~~~~~~~
111126

Documentation/git-config.txt

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -178,6 +178,11 @@ See also <<FILES>>.
178178
Opens an editor to modify the specified config file; either
179179
'--system', '--global', or repository (default).
180180

181+
--includes::
182+
--no-includes::
183+
Respect `include.*` directives in config files when looking up
184+
values. Defaults to on.
185+
181186
[[FILES]]
182187
FILES
183188
-----

Documentation/git-fmt-merge-msg.txt

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -53,6 +53,11 @@ OPTIONS
5353
CONFIGURATION
5454
-------------
5555

56+
merge.branchdesc::
57+
In addition to branch names, populate the log message with
58+
the branch description text associated with them. Defaults
59+
to false.
60+
5661
merge.log::
5762
In addition to branch names, populate the log message with at
5863
most the specified number of one-line descriptions from the

0 commit comments

Comments
 (0)