send-email: accept absolute path even on Windows
[git/dscho.git] / Documentation / RelNotes / 1.7.8.txt
1 Git v1.7.8 Release Notes (draft)
2 ================================
4 Updates since v1.7.7
5 --------------------
7  * Some git-svn, git-gui, git-p4 (in contrib) and msysgit updates.
9  * Updates to bash completion scripts.
11  * The build procedure has been taught to take advantage of computed
12    dependency automatically when the complier supports it.
14  * The date parser now accepts timezone designators that lack minutes
15    part and also has a colon between "hh:mm".
17  * The contents of the /etc/mailname file, if exists, is used as the
18    default value of the hostname part of the committer/author e-mail.
20  * "git am" learned how to read from patches generated by Hg.
22  * "git archive" talking with a remote repository can report errors
23    from the remote side in a more informative way.
25  * "git branch" learned an explicit --list option to ask for branches
26    listed, optionally with a glob matching pattern to limit its output.
28  * "git check-attr" learned "--cached" option to look at .gitattributes
29    files from the index, not from the working tree.
31  * Variants of "git cherry-pick" and "git revert" that take multiple
32    commits learned to "--continue".
34  * "git daemon" gives more human readble error messages to clients
35    using ERR packets when appropriate.
37  * Errors at the network layer is logged by "git daemon".
39  * "git diff" learned "--minimal" option to spend extra cycles to come
40    up with a minimal patch output.
42  * "git diff" learned "--function-context" option to show the whole
43    function as context that was affected by a change.
45  * "git difftool" can be told to skip launching the tool for a path by
46    answering 'n' to its prompt.
48  * "git fetch" learned to honor transfer.fsckobjects configuration to
49    validate the objects that were received from the other end, just like
50    "git receive-pack" (the receiving end of "git push") does.
52  * "git fetch" makes sure that the set of objects it received from the
53    other end actually completes the history before updating the refs.
54    "git receive-pack" (the receiving end of "git push") learned to do the
55    same.
57  * "git fetch" learned that fetching/cloning from a regular file on the
58    filesystem is not necessarily a request to unpack a bundle file; the
59    file could be ".git" with "gitdir: <path>" in it.
61  * "git for-each-ref" learned "%(contents:subject)", "%(contents:body)"
62    and "%(contents:signature)". The last one is useful for signed tags.
64  * "git grep" used to incorrectly pay attention to .gitignore files
65    scattered in the directory it was working in even when "--no-index"
66    option was used. It no longer does this. The "--exclude-standard"
67    option needs to be given to explicitly activate the ignore
68    mechanism.
70  * "git grep" learned "--untracked" option, where given patterns are
71     searched in untracked (but not ignored) files as well as tracked
72     files in the working tree, so that matches in new but not yet
73     added files do not get missed.
75  * The recursive merge backend no longer looks for meaningless
76    existing merges in submodules unless in the outermost merge.
78  * "git log" and friends learned "--children" option.
80  * "git ls-remote" learned to respond to "-h"(elp) requests.
82  * "mediawiki" remote helper can interact with (surprise!) MediaWiki
83    with "git fetch" & "git push".
85  * "git merge" learned the "--edit" option to allow users to edit the
86    merge commit log message.
88  * "git rebase -i" can be told to use special purpose editor suitable
89    only for its insn sheet via sequence.editor configuration variable.
91  * "git send-email" learned to respond to "-h"(elp) requests.
93  * "git send-email" allows the value given to sendemail.aliasfile to begin
94    with "~/" to refer to the $HOME directory.
96  * "git send-email" forces use of Authen::SASL::Perl to work around
97    issues between Authen::SASL::Cyrus and AUTH PLAIN/LOGIN.
99  * "git stash" learned "--include-untracked" option to stash away
100    untracked/ignored cruft from the working tree.
102  * "git submodule clone" does not leak an error message to the UI
103    level unnecessarily anymore.
105  * "git submodule update" learned to honor "none" as the value for
106    submodule.<name>.update to specify that the named submodule should
107    not be checked out by default.
109  * When populating a new submodule directory with "git submodule init",
110    the $GIT_DIR metainformation directory for submodules is created inside
111    $GIT_DIR/modules/<name>/ directory of the superproject and referenced
112    via the gitfile mechanism. This is to make it possible to switch
113    between commits in the superproject that has and does not have the
114    submodule in the tree without re-cloning.
116  * "git upload-archive" (hence "git archive --remote") can be built
117    and used on mingw port of Git.
119  * "gitweb" leaked unescaped control characters from syntax hiliter
120    outputs.
122  * "gitweb" can be told to give custom string at the end of the HTML
123    HEAD element.
125  * "gitweb" now has its own manual pages.
128 Also contains other documentation updates and minor code cleanups.
131 Fixes since v1.7.7
132 ------------------
134 Unless otherwise noted, all fixes in the 1.7.7.X maintenance track are
135 included in this release.
137  * HTTP transport did not use pushurl correctly, and also did not tell
138    what host it is trying to authenticate with when asking for
139    credentials.
140    (merge deba493 jk/http-auth later to maint).
142  * "git branch -m/-M" advertised to update RENAME_REF ref in the
143    commit log message that introduced the feature but not anywhere in
144    the documentation, and never did update such a ref anyway. This
145    undocumented misfeature that did not exist has been excised.
146    (merge b0eab01 jc/maint-remove-renamed-ref later to maint).
148  * Adding many refs to the local repository in one go (e.g. "git fetch"
149    that fetches many tags) and looking up a ref by name in a repository
150    with too many refs were unnecessarily slow.
151    (merge 17d68a54d jp/get-ref-dir-unsorted later to maint).
153  * Report from "git commit" on untracked files was confused under
154    core.ignorecase option.
155    (merge 395c7356 jk/name-hash-dirent later to maint).
157  * "git merge" did not understand ":/<pattern>" as a way to name a commit.
159  " "git push" on the receiving end used to call post-receive and post-update
160    hooks for attempted removal of non-existing refs.
161    (merge 160b81ed ph/push-to-delete-nothing later to maint).
163  * The logic to filter out forked projects in the project list in
164    "gitweb" was broken for some time.
165    (merge 53c632f jm/maint-gitweb-filter-forks-fix later to maint).
167  * The logic to optimize the locality of the data in a pack introduced in
168    1.7.7 was grossly inefficient.
169    (merge 38d4deb dm/pack-objects-update later to maint).
172 exec >/var/tmp/1
173 O=v1.7.8-rc0-32-g8e3565f
174 echo O=$(git describe --always master)
175 git log --first-parent --oneline --reverse ^$O master
176 echo
177 git shortlog --no-merges ^$O master