1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
|
Git v1.7.10 Release Notes
=========================
Updates since v1.7.9
--------------------
UI, Workflows & Features
* Improved handling of views, labels and branches in git-p4 (in contrib).
* Updated command line arguments completion script for zsh (in contrib).
* "vcs-svn"/"svn-fe" learned to read dumps with svn-deltas and
support incremental imports.
* "git am" learned to pass "-b" option to underlying "git mailinfo", so
that bracketed string other than "PATCH" at the beginning can be kept.
* "git clone" learned "--single-branch" option to limit cloning to a
single branch (surprise!).
* "git clone" learned to detach the HEAD in the resulting repository
when the source repository's HEAD does not point to a branch.
* The commands in the "git diff" family and "git apply --stat" that
count the number of files changed and the number of lines
inserted/deleted have been updated to match the output from
"diffstat". This also opens the door to i18n this line.
* When showing a patch while ignoring whitespace changes, the context
lines are taken from the postimage, in order to make it easier to
view the output.
* "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 MERGE_AUTOEDIT=no to retain the historical behaviour.
* "gitweb" allows intermediate entries in the directory hierarchy
that leads to a projects to be clicked, which in turn shows the
list of projects inside that directory.
Performance
* During "git upload-pack" in respose to "git fetch", unnecessary calls
to parse_object() have been eliminated, to help performance in
repositories with excessive number of refs.
Internal Implementation
* Recursive call chains in "git index-pack" to deal with long delta
chains have been flattened, to reduce the stack footprint.
* Use of add_extra_ref() API is slowly getting removed, to make it
possible to cleanly restructure the overall refs API.
* The test suite supports the new "test_pause" helper function.
* t/Makefile is adjusted to prevent newer versions of GNU make from
running tests in seemingly random order.
Also contains minor documentation updates and code clean-ups.
Fixes since v1.7.9
------------------
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).
* "git merge --no-edit $tag" failed to honor the --no-edit option.
(merge 3adab6f jn/merge-no-edit-fix later to maint).
* The error message emitted when we see an empty loose object was
not phrased correctly.
(merge 33e42de mm/empty-loose-error-message later to maint).
* Many small corner case bugs on "git tag -n" was corrected.
(merge 31fd8d7 jk/maint-tag-show-fixes later to maint).
* "git commit" refused to create a commit when entries added with
"add -N" remained in the index, without telling Git what their content
in the next commit should be. We should have created the commit without
these paths.
(merge 3f6d56d jc/maint-commit-ignore-i-t-a later to maint).
* Search box in "gitweb" did not accept non-ASCII characters correctly.
(merge 84d9e2d jn/gitweb-search-utf-8 later to maint).
* The code to ask for password did not fall back to the terminal
input when GIT_ASKPASS is set but does not work (e.g. lack of X
with GUI askpass helper).
(merge 84d7273 jk/prompt-fallback-to-tty later to maint).
* map_user() was not rewriting its output correctly, which resulted
in the user visible symptom that "git blame -e" sometimes showed
excess '>' at the end of email addresses.
(merge f026358 jc/maint-mailmap-output later to maint).
* "checkout -b" did not allow switching out of an unborn branch.
(merge abe1998 jc/checkout-out-of-unborn later to maint).
* "add -e" learned not to show a diff for an otherwise unmodified
submodule that only has uncommitted local changes in the patch
prepared by for the user to edit.
(merge 701825d js/add-e-submodule-fix later to maint).
* "rebase" and "commit --amend" failed to work on commits with ancient
timestamps near year 1970.
(merge 2c733fb jc/parse-date-raw later to maint).
* "git merge --ff-only $tag" failed because it cannot record the
required mergetag without creating a merge, but this is so common
operation for branch that is used _only_ to follow the upstream, so
it is allowed to fast-forward without recording the mergetag.
(merge b5c9f1c jc/merge-ff-only-stronger-than-signed-merge later to maint).
* Typo in "git branch --edit-description my-tpoic" was not diagnosed.
(merge c2d17ba jc/branch-desc-typoavoidance later to maint).
* rpmbuild noticed an unpackaged but installed *.mo file and failed.
(merge 3a9f58c jn/rpm-spec later to maint).
---
exec >/var/tmp/1
O=v1.7.9-249-gaa47ec9
echo O=$(git describe)
git log --first-parent --oneline ^maint $O..
echo
git shortlog --no-merges ^maint $O..
|