Skip to content

Commit 1c88a6d

Browse files
committed
Sync with 1.7.11.6
Signed-off-by: Junio C Hamano <[email protected]>
2 parents 3119084 + e09e402 commit 1c88a6d

32 files changed

+569
-392
lines changed

Documentation/RelNotes/1.7.11.6.txt

Lines changed: 55 additions & 33 deletions
Original file line numberDiff line numberDiff line change
@@ -4,59 +4,81 @@ Git v1.7.11.6 Release Notes
44
Fixes since v1.7.11.5
55
---------------------
66

7-
This consists primarily of documentation updates and low-impact code
8-
clarification and bugfixes.
9-
10-
- "ciabot" script (in contrib/) has been updated with extensive
7+
* "ciabot" script (in contrib/) has been updated with extensive
118
documentation.
129

13-
- The "--rebase" option to "git pull" can be abbreviated to "-r",
14-
but we didn't document it.
10+
* "git foo" errored out with "Not a directory" when the user had a
11+
non-directory on $PATH, and worse yet it masked an alias "foo" from
12+
running.
1513

16-
- It was generally understood that "--long-option"s to many of our
17-
subcommands can be abbreviated to the unique prefix, but it was not
18-
easy to find it described for new readers of the documentation set.
14+
* When the user exports a non-default IFS without HT, scripts that
15+
rely on being able to parse "ls-files -s | while read a b c..."
16+
started to fail. Protect them from such a misconfiguration.
1917

20-
- The "--topo-order", "--date-order" (and the lack of either means
21-
the default order) options to "rev-list" and "log" family of
22-
commands were poorly described in the documentation.
18+
* When the user gives an argument that can be taken as both a
19+
revision name and a pathname without disambiguating with "--", we
20+
used to give a help message "Use '--' to separate". The message
21+
has been clarified to show where that '--' goes on the command
22+
line.
23+
24+
* Documentation for the configuration file format had a confusing
25+
example.
2326

24-
- Older parts of the documentation described as if having a regular
27+
* Older parts of the documentation described as if having a regular
2528
file in .git/refs/ hierarchy were the only way to have branches and
2629
tags, which is not true for quite some time.
2730

28-
- A utility shell function test_seq has been added as a replacement
29-
for the 'seq' utility found on some platforms.
31+
* It was generally understood that "--long-option"s to many of our
32+
subcommands can be abbreviated to the unique prefix, but it was not
33+
easy to find it described for new readers of the documentation set.
3034

31-
- Fallback 'getpass' implementation made unportable use of stdio API.
35+
* The "--topo-order", "--date-order" (and the lack of either means
36+
the default order) options to "rev-list" and "log" family of
37+
commands were poorly described in the documentation.
3238

33-
- "git commit --amend" let the user edit the log message and then
39+
* "git commit --amend" let the user edit the log message and then
3440
died when the human-readable committer name was given
3541
insufficiently by getpwent(3).
3642

37-
- The reflog entries left by "git rebase" and "git rebase -i" were
38-
inconsistent (the interactive one gave an abbreviated object name).
43+
* The exit status code from "git config" was way overspecified while
44+
being incorrect. The implementation has been updated to give the
45+
documented status for a case that was documented, and introduce a
46+
new code for "all other errors".
3947

40-
- When the user exports a non-default IFS without HT, scripts that
41-
rely on being able to parse "ls-files -s | while read a b c..."
42-
started to fail. Protect them from such a misconfiguration.
48+
* The output from "git diff -B" for a file that ends with an
49+
incomplete line did not put "\ No newline..." on a line of its own.
50+
51+
* "git diff" had a confusion between taking data from a path in the
52+
working tree and taking data from an object that happens to have
53+
name 0{40} recorded in a tree.
4354

44-
- When "git push" triggered the automatic gc on the receiving end, a
55+
* The "--rebase" option to "git pull" can be abbreviated to "-r",
56+
but we didn't document it.
57+
58+
* When "git push" triggered the automatic gc on the receiving end, a
4559
message from "git prune" that said it was removing cruft leaked to
4660
the standard output, breaking the communication protocol.
4761

48-
- "git diff" had a confusion between taking data from a path in the
49-
working tree and taking data from an object that happens to have
50-
name 0{40} recorded in a tree.
62+
* The reflog entries left by "git rebase" and "git rebase -i" were
63+
inconsistent (the interactive one gave an abbreviated object name).
5164

52-
- "git send-email" did not unquote encoded words that appear on the
65+
* "git send-email" did not unquote encoded words that appear on the
5366
header correctly, and lost "_" from strings.
5467

55-
- When the user gives an argument that can be taken as both a
56-
revision name and a pathname without disambiguating with "--", we
57-
used to give a help message "Use '--' to separate". The message
58-
has been clarified to show where that '--' goes on the command
59-
line.
68+
* "git stash apply/pop" did not trigger "rerere" upon conflicts
69+
unlike other mergy operations.
70+
71+
* "git submodule <cmd> path" did not error out when the path to the
72+
submodule was misspelt.
6073

61-
- "gitweb" when used with PATH_INFO failed to notice directories with
74+
* "git submodule update -f" did not update paths in the working tree
75+
that has local changes.
76+
(merge 01d4721 sz/submodule-force-update later to maint).
77+
78+
* "gitweb" when used with PATH_INFO failed to notice directories with
6279
SP (and other characters that need URL-style quoting) in them.
80+
81+
* Fallback 'getpass' implementation made unportable use of stdio API.
82+
83+
* A utility shell function test_seq has been added as a replacement
84+
for the 'seq' utility found on some platforms.

Documentation/asciidoc.conf

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -36,7 +36,7 @@ ifndef::git-asciidoc-no-roff[]
3636
# v1.72 breaks with this because it replaces dots not in roff requests.
3737
[listingblock]
3838
<example><title>{title}</title>
39-
<literallayout>
39+
<literallayout class="monospaced">
4040
ifdef::doctype-manpage[]
4141
&#10;.ft C&#10;
4242
endif::doctype-manpage[]
@@ -53,7 +53,7 @@ ifdef::doctype-manpage[]
5353
# The following two small workarounds insert a simple paragraph after screen
5454
[listingblock]
5555
<example><title>{title}</title>
56-
<literallayout>
56+
<literallayout class="monospaced">
5757
|
5858
</literallayout><simpara></simpara>
5959
{title#}</example>

Documentation/git-config.txt

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -54,16 +54,16 @@ configuration file by default, and options '--system', '--global',
5454
'--file <filename>' can be used to tell the command to write to
5555
that location (you can say '--local' but that is the default).
5656

57-
This command will fail (with exit code ret) if:
57+
This command will fail with non-zero status upon error. Some exit
58+
codes are:
5859

5960
. The config file is invalid (ret=3),
6061
. can not write to the config file (ret=4),
6162
. no section or name was provided (ret=2),
6263
. the section or key is invalid (ret=1),
6364
. you try to unset an option which does not exist (ret=5),
64-
. you try to unset/set an option for which multiple lines match (ret=5),
65-
. you try to use an invalid regexp (ret=6), or
66-
. you use '--global' option without $HOME being properly set (ret=128).
65+
. you try to unset/set an option for which multiple lines match (ret=5), or
66+
. you try to use an invalid regexp (ret=6).
6767

6868
On success, the command returns the exit code 0.
6969

@@ -267,7 +267,7 @@ Given a .git/config like this:
267267

268268
; Proxy settings
269269
[core]
270-
gitproxy="proxy-command" for kernel.org
270+
gitproxy=proxy-command for kernel.org
271271
gitproxy=default-proxy ; for all the rest
272272

273273
you can set the filemode to true with
@@ -342,7 +342,7 @@ To actually match only values with an exclamation mark, you have to
342342
To add a new proxy, without altering any of the existing ones, use
343343

344344
------------
345-
% git config core.gitproxy '"proxy-command" for example.com'
345+
% git config --add core.gitproxy '"proxy-command" for example.com'
346346
------------
347347

348348
An example to use customized color from the configuration in your

Documentation/git-submodule.txt

Lines changed: 8 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -149,6 +149,11 @@ submodule with the `--init` option.
149149
+
150150
If `--recursive` is specified, this command will recurse into the
151151
registered submodules, and update any nested submodules within.
152+
+
153+
If `--force` is specified, the submodule will be checked out (using
154+
`git checkout --force` if appropriate), even if the commit specified in the
155+
index of the containing repository already matches the commit checked out in
156+
the submodule.
152157

153158
summary::
154159
Show commit summary between the given commit (defaults to HEAD) and
@@ -210,7 +215,9 @@ OPTIONS
210215
This option is only valid for add and update commands.
211216
When running add, allow adding an otherwise ignored submodule path.
212217
When running update, throw away local changes in submodules when
213-
switching to a different commit.
218+
switching to a different commit; and always run a checkout operation
219+
in the submodule, even if the commit listed in the index of the
220+
containing repository matches the commit checked out in the submodule.
214221

215222
--cached::
216223
This option is only valid for status and summary commands. These

Documentation/git.txt

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -48,9 +48,10 @@ Documentation for older releases are available here:
4848
* release notes for
4949
link:RelNotes/1.7.12.txt[1.7.12].
5050

51-
* link:v1.7.11.5/git.html[documentation for release 1.7.11.5]
51+
* link:v1.7.11.6/git.html[documentation for release 1.7.11.6]
5252

5353
* release notes for
54+
link:RelNotes/1.7.11.6.txt[1.7.11.6],
5455
link:RelNotes/1.7.11.5.txt[1.7.11.5],
5556
link:RelNotes/1.7.11.4.txt[1.7.11.4],
5657
link:RelNotes/1.7.11.3.txt[1.7.11.3],

Documentation/user-manual.conf

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,7 @@ ifdef::backend-docbook[]
1414
# "unbreak" docbook-xsl v1.68 for manpages. v1.69 works with or without this.
1515
[listingblock]
1616
<example><title>{title}</title>
17-
<literallayout>
17+
<literallayout class="monospaced">
1818
|
1919
</literallayout>
2020
{title#}</example>

builtin/apply.c

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -188,7 +188,6 @@ struct patch {
188188
int is_new, is_delete; /* -1 = unknown, 0 = false, 1 = true */
189189
int rejected;
190190
unsigned ws_rule;
191-
unsigned long deflate_origlen;
192191
int lines_added, lines_deleted;
193192
int score;
194193
unsigned int is_toplevel_relative:1;

builtin/blame.c

Lines changed: 3 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -407,8 +407,7 @@ static struct origin *find_origin(struct scoreboard *sb,
407407
paths[1] = NULL;
408408

409409
diff_tree_setup_paths(paths, &diff_opts);
410-
if (diff_setup_done(&diff_opts) < 0)
411-
die("diff-setup");
410+
diff_setup_done(&diff_opts);
412411

413412
if (is_null_sha1(origin->commit->object.sha1))
414413
do_diff_cache(parent->tree->object.sha1, &diff_opts);
@@ -494,8 +493,7 @@ static struct origin *find_rename(struct scoreboard *sb,
494493
diff_opts.single_follow = origin->path;
495494
paths[0] = NULL;
496495
diff_tree_setup_paths(paths, &diff_opts);
497-
if (diff_setup_done(&diff_opts) < 0)
498-
die("diff-setup");
496+
diff_setup_done(&diff_opts);
499497

500498
if (is_null_sha1(origin->commit->object.sha1))
501499
do_diff_cache(parent->tree->object.sha1, &diff_opts);
@@ -1075,8 +1073,7 @@ static int find_copy_in_parent(struct scoreboard *sb,
10751073

10761074
paths[0] = NULL;
10771075
diff_tree_setup_paths(paths, &diff_opts);
1078-
if (diff_setup_done(&diff_opts) < 0)
1079-
die("diff-setup");
1076+
diff_setup_done(&diff_opts);
10801077

10811078
/* Try "find copies harder" on new path if requested;
10821079
* we do not want to use diffcore_rename() actually to

builtin/checkout.c

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -316,8 +316,7 @@ static void show_local_changes(struct object *head, struct diff_options *opts)
316316
init_revisions(&rev, NULL);
317317
rev.diffopt.flags = opts->flags;
318318
rev.diffopt.output_format |= DIFF_FORMAT_NAME_STATUS;
319-
if (diff_setup_done(&rev.diffopt) < 0)
320-
die(_("diff_setup_done failed"));
319+
diff_setup_done(&rev.diffopt);
321320
add_pending_object(&rev, head, NULL);
322321
run_diff_index(&rev, 0);
323322
}

builtin/config.c

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -160,7 +160,7 @@ static int show_config(const char *key_, const char *value_, void *cb)
160160

161161
static int get_value(const char *key_, const char *regex_)
162162
{
163-
int ret = -1;
163+
int ret = CONFIG_GENERIC_ERROR;
164164
char *global = NULL, *xdg = NULL, *repo_config = NULL;
165165
const char *system_wide = NULL, *local;
166166
struct config_include_data inc = CONFIG_INCLUDE_INIT;
@@ -196,11 +196,14 @@ static int get_value(const char *key_, const char *regex_)
196196
if (regcomp(key_regexp, key, REG_EXTENDED)) {
197197
fprintf(stderr, "Invalid key pattern: %s\n", key_);
198198
free(key);
199+
ret = CONFIG_INVALID_PATTERN;
199200
goto free_strings;
200201
}
201202
} else {
202-
if (git_config_parse_key(key_, &key, NULL))
203+
if (git_config_parse_key(key_, &key, NULL)) {
204+
ret = CONFIG_INVALID_KEY;
203205
goto free_strings;
206+
}
204207
}
205208

206209
if (regex_) {
@@ -212,6 +215,7 @@ static int get_value(const char *key_, const char *regex_)
212215
regexp = (regex_t*)xmalloc(sizeof(regex_t));
213216
if (regcomp(regexp, regex_, REG_EXTENDED)) {
214217
fprintf(stderr, "Invalid pattern: %s\n", regex_);
218+
ret = CONFIG_INVALID_PATTERN;
215219
goto free_strings;
216220
}
217221
}

0 commit comments

Comments
 (0)