|
|
|
Git v1.7.8 Release Notes (draft)
|
|
|
|
================================
|
|
|
|
|
|
|
|
Updates since v1.7.7
|
|
|
|
--------------------
|
|
|
|
|
|
|
|
* Some git-svn, git-gui, git-p4 (in contrib) and msysgit updates.
|
|
|
|
|
|
|
|
* Updates to bash completion scripts.
|
|
|
|
|
|
|
|
* The build procedure has been taught to take advantage of computed
|
|
|
|
dependency automatically when the complier supports it.
|
|
|
|
|
|
|
|
* The date parser now accepts timezone designators that lack minutes
|
|
|
|
part and also has a colon between "hh:mm".
|
|
|
|
|
|
|
|
* The contents of the /etc/mailname file, if exists, is used as the
|
|
|
|
default value of the hostname part of the committer/author e-mail.
|
|
|
|
|
|
|
|
* "git am" learned how to read from patches generated by Hg.
|
|
|
|
|
|
|
|
* "git archive" talking with a remote repository can report errors
|
|
|
|
from the remote side in a more informative way.
|
|
|
|
|
|
|
|
* "git branch" learned an explicit --list option to ask for branches
|
|
|
|
listed, optionally with a glob matching pattern to limit its output.
|
|
|
|
|
|
|
|
* "git check-attr" learned "--cached" option to look at .gitattributes
|
|
|
|
files from the index, not from the working tree.
|
|
|
|
|
|
|
|
* Variants of "git cherry-pick" and "git revert" that take multiple
|
|
|
|
commits learned to "--continue".
|
|
|
|
|
|
|
|
* "git daemon" gives more human readble error messages to clients
|
|
|
|
using ERR packets when appropriate.
|
|
|
|
|
|
|
|
* Errors at the network layer is logged by "git daemon".
|
|
|
|
|
|
|
|
* "git diff" learned "--minimal" option to spend extra cycles to come
|
|
|
|
up with a minimal patch output.
|
|
|
|
|
|
|
|
* "git diff" learned "--function-context" option to show the whole
|
|
|
|
function as context that was affected by a change.
|
|
|
|
|
|
|
|
* "git difftool" can be told to skip launching the tool for a path by
|
|
|
|
answering 'n' to its prompt.
|
|
|
|
|
|
|
|
* "git fetch" learned to honor transfer.fsckobjects configuration to
|
|
|
|
validate the objects that were received from the other end, just like
|
|
|
|
"git receive-pack" (the receiving end of "git push") does.
|
|
|
|
|
|
|
|
* "git fetch" makes sure that the set of objects it received from the
|
|
|
|
other end actually completes the history before updating the refs.
|
|
|
|
"git receive-pack" (the receiving end of "git push") learned to do the
|
|
|
|
same.
|
|
|
|
|
|
|
|
* "git fetch" learned that fetching/cloning from a regular file on the
|
|
|
|
filesystem is not necessarily a request to unpack a bundle file; the
|
|
|
|
file could be ".git" with "gitdir: <path>" in it.
|
|
|
|
|
|
|
|
* "git for-each-ref" learned "%(contents:subject)", "%(contents:body)"
|
|
|
|
and "%(contents:signature)". The last one is useful for signed tags.
|
|
|
|
|
|
|
|
* "git grep" used to incorrectly pay attention to .gitignore files
|
|
|
|
scattered in the directory it was working in even when "--no-index"
|
|
|
|
option was used. It no longer does this. The "--exclude-standard"
|
|
|
|
option needs to be given to explicitly activate the ignore
|
|
|
|
mechanism.
|
|
|
|
|
|
|
|
* "git grep" learned "--untracked" option, where given patterns are
|
|
|
|
searched in untracked (but not ignored) files as well as tracked
|
|
|
|
files in the working tree, so that matches in new but not yet
|
|
|
|
added files do not get missed.
|
|
|
|
|
|
|
|
* The recursive merge backend no longer looks for meaningless
|
|
|
|
existing merges in submodules unless in the outermost merge.
|
|
|
|
|
|
|
|
* "git log" and friends learned "--children" option.
|
|
|
|
|
|
|
|
* "git ls-remote" learned to respond to "-h"(elp) requests.
|
|
|
|
|
|
|
|
* "git merge" learned the "--edit" option to allow users to edit the
|
|
|
|
merge commit log message.
|
|
|
|
|
|
|
|
* "git rebase -i" can be told to use special purpose editor suitable
|
|
|
|
only for its insn sheet via sequence.editor configuration variable.
|
|
|
|
|
|
|
|
* "git send-email" learned to respond to "-h"(elp) requests.
|
|
|
|
|
|
|
|
* "git send-email" allows the value given to sendemail.aliasfile to begin
|
|
|
|
with "~/" to refer to the $HOME directory.
|
|
|
|
|
|
|
|
* "git send-email" forces use of Authen::SASL::Perl to work around
|
|
|
|
issues between Authen::SASL::Cyrus and AUTH PLAIN/LOGIN.
|
|
|
|
|
|
|
|
* "git stash" learned "--include-untracked" option to stash away
|
|
|
|
untracked/ignored cruft from the working tree.
|
|
|
|
|
|
|
|
* "git submodule clone" does not leak an error message to the UI
|
|
|
|
level unnecessarily anymore.
|
|
|
|
|
|
|
|
* "git submodule update" learned to honor "none" as the value for
|
|
|
|
submodule.<name>.update to specify that the named submodule should
|
|
|
|
not be checked out by default.
|
|
|
|
|
|
|
|
* When populating a new submodule directory with "git submodule init",
|
|
|
|
the $GIT_DIR metainformation directory for submodules is created inside
|
|
|
|
$GIT_DIR/modules/<name>/ directory of the superproject and referenced
|
|
|
|
via the gitfile mechanism. This is to make it possible to switch
|
|
|
|
between commits in the superproject that has and does not have the
|
|
|
|
submodule in the tree without re-cloning.
|
|
|
|
|
|
|
|
* "mediawiki" remote helper can interact with (surprise!) MediaWiki
|
|
|
|
with "git fetch" & "git push".
|
|
|
|
|
|
|
|
* "gitweb" leaked unescaped control characters from syntax hiliter
|
|
|
|
outputs.
|
|
|
|
|
|
|
|
* "gitweb" can be told to give custom string at the end of the HTML
|
|
|
|
HEAD element.
|
|
|
|
|
|
|
|
* "gitweb" now has its own manual pages.
|
|
|
|
|
|
|
|
|
|
|
|
Also contains other documentation updates and minor code cleanups.
|
|
|
|
|
|
|
|
|
|
|
|
Fixes since v1.7.7
|
|
|
|
------------------
|
|
|
|
|
|
|
|
Unless otherwise noted, all fixes in the 1.7.7.X maintenance track are
|
|
|
|
included in this release.
|
|
|
|
|
|
|
|
* We used to drop error messages from libcurl on certain kinds of
|
|
|
|
errors.
|
|
|
|
(merge be22d92eac8 jn/maint-http-error-message later to maint).
|
|
|
|
|
|
|
|
* Error report from smart HTTP transport, when the connection was
|
|
|
|
broken in the middle of a transfer, showed a useless message on
|
|
|
|
a corrupt packet.
|
|
|
|
(merge 6cdf022 sp/smart-http-failure later to maint).
|
|
|
|
|
|
|
|
* HTTP transport did not use pushurl correctly, and also did not tell
|
|
|
|
what host it is trying to authenticate with when asking for
|
|
|
|
credentials.
|
|
|
|
(merge deba493 jk/http-auth later to maint).
|
|
|
|
|
|
|
|
* "git branch -m/-M" advertised to update RENAME_REF ref in the
|
|
|
|
commit log message that introduced the feature but not anywhere in
|
|
|
|
the documentation, and never did update such a ref anyway. This
|
|
|
|
undocumented misfeature that did not exist has been excised.
|
|
|
|
(merge b0eab01 jc/maint-remove-renamed-ref later to maint).
|
|
|
|
|
|
|
|
* Adding many refs to the local repository in one go (e.g. "git fetch"
|
|
|
|
that fetches many tags) and looking up a ref by name in a repository
|
|
|
|
with too many refs were unnecessarily slow.
|
|
|
|
(merge 17d68a54d jp/get-ref-dir-unsorted later to maint).
|
|
|
|
|
|
|
|
* "git fetch --prune" was unsafe when used with refspecs from the
|
|
|
|
command line.
|
|
|
|
(merge e8c1e6c cn/fetch-prune later to maint).
|
|
|
|
|
|
|
|
* Report from "git commit" on untracked files was confused under
|
|
|
|
core.ignorecase option.
|
|
|
|
(merge 2548183b jk/name-hash-dirent later to maint).
|
|
|
|
|
|
|
|
* The attribute mechanism did not use case insensitive match when
|
|
|
|
core.ignorecase was set.
|
|
|
|
(merge 6eba621 bc/attr-ignore-case later to maint).
|
|
|
|
|
|
|
|
* "git bisect" did not notice when it failed to update the working tree
|
|
|
|
to the next commit to be tested.
|
|
|
|
(merge 1acf11717 js/bisect-no-checkout later to maint).
|
|
|
|
|
|
|
|
* "git config --bool --get-regexp" failed to separate the variable name
|
|
|
|
and its value "true" when the variable is defined without "= true".
|
|
|
|
(merge 880e3cc mm/maint-config-explicit-bool-display later to maint).
|
|
|
|
|
|
|
|
* "git remote rename $a $b" were not careful to match the remote name
|
|
|
|
against $a (i.e. source side of the remote nickname).
|
|
|
|
(merge b52d00aed mz/remote-rename later to maint).
|
|
|
|
|
|
|
|
* "git diff --[num]stat" used to use the number of lines of context
|
|
|
|
different from the default, potentially giving different results from
|
|
|
|
"git diff | diffstat" and confusing the users.
|
|
|
|
(merge f01cae918 jc/maint-diffstat-numstat-context later to maint).
|
|
|
|
|
|
|
|
* "git merge" did not understand ":/<pattern>" as a way to name a commit.
|
|
|
|
|
|
|
|
* "git mergetool" learned to use its arguments as pathspec, not a path to
|
|
|
|
the file that may not even have any conflict.
|
|
|
|
(merge 6d9990a jm/mergetool-pathspec later to maint).
|
|
|
|
|
|
|
|
* "git pull" and "git rebase" did not work well even when GIT_WORK_TREE is
|
|
|
|
set correctly with GIT_DIR if the current directory is outside the working
|
|
|
|
tree.
|
|
|
|
(merge 035b5bf jk/pull-rebase-with-work-tree later to maint).
|
|
|
|
|
|
|
|
" "git push" on the receiving end used to call post-receive and post-update
|
|
|
|
hooks for attempted removal of non-existing refs.
|
|
|
|
(merge 160b81ed ph/push-to-delete-nothing later to maint).
|
|
|
|
|
|
|
|
* "git send-email" did not honor the configured hostname when restarting
|
|
|
|
the HELO/EHLO exchange after switching TLS on.
|
|
|
|
(merge 155b940 md/smtp-tls-hello-again later to maint).
|
|
|
|
|
|
|
|
* "gitweb" used to produce a non-working link while showing the contents
|
|
|
|
of a blob, when JavaScript actions are enabled.
|
|
|
|
(merge 2b07ff3ff ps/gitweb-js-with-lineno later to maint).
|
|
|
|
|
|
|
|
* The logic to filter out forked projects in the project list in
|
|
|
|
"gitweb" was broken for some time.
|
|
|
|
(merge 53c632f jm/maint-gitweb-filter-forks-fix later to maint).
|
|
|
|
|
|
|
|
---
|
|
|
|
exec >/var/tmp/1
|
|
|
|
O=v1.7.7.1-492-g324bc2a
|
|
|
|
echo O=$(git describe --always master)
|
|
|
|
git log --first-parent --oneline --reverse ^$O master
|
|
|
|
echo
|
|
|
|
git shortlog --no-merges ^$O master
|