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