|
|
|
Git v1.7.8 Release Notes (draft)
|
|
|
|
================================
|
|
|
|
|
|
|
|
Updates since v1.7.7
|
|
|
|
--------------------
|
|
|
|
|
|
|
|
* 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".
|
|
|
|
|
|
|
|
* "git am" learned how to read from patches generated by Hg.
|
|
|
|
|
|
|
|
* "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 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 for-each-ref" learned "%(contents:subject)", "%(contents:body)"
|
|
|
|
and "%(contents:signature)". The last one is useful for signed tags.
|
|
|
|
|
|
|
|
* "git ls-remote" learned to respond to "-h"(elp) requests.
|
|
|
|
|
|
|
|
* "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 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.
|
|
|
|
|
|
|
|
|
|
|
|
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).
|
|
|
|
|
|
|
|
* 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 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 $tree $path" used to apply the pathspec at the output stage,
|
|
|
|
reading the whole tree, wasting resources.
|
|
|
|
(merge 2f88c1970 jc/diff-index-unpack 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).
|
|
|
|
|
|
|
|
* The code to check for updated submodules during a "git fetch" of the
|
|
|
|
superproject had an unnecessary quadratic loop.
|
|
|
|
(merge 6859de45 jk/maint-fetch-submodule-check-fix later to maint).
|
|
|
|
|
|
|
|
* "git fetch" from a large bundle did not enable the progress output.
|
|
|
|
(merge be042aff jc/maint-bundle-too-quiet later to maint).
|
|
|
|
|
|
|
|
* When "git fsck --lost-and-found" found that an empty blob object in the
|
|
|
|
object store is unreachable, it incorrectly reported an error after
|
|
|
|
writing the lost blob out successfully.
|
|
|
|
(merge eb726f2d jc/maint-fsck-fwrite-size-check later to maint).
|
|
|
|
|
|
|
|
* "git filter-branch" did not refresh the index before checking that the
|
|
|
|
working tree was clean.
|
|
|
|
(merge 5347a50f jk/filter-branch-require-clean-work-tree later to maint).
|
|
|
|
|
|
|
|
* "git grep $tree" when run with multiple threads had an unsafe access to
|
|
|
|
the object database that should have been protected with mutex.
|
|
|
|
(merge 8cb5775b2 nm/grep-object-sha1-lock later to maint).
|
|
|
|
|
|
|
|
* The "--ancestry-path" option to "git log" and friends misbehaved in a
|
|
|
|
history with complex criss-cross merges and showed an uninteresting
|
|
|
|
side history as well.
|
|
|
|
(merge c05b988a6 bk/ancestry-path 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).
|
|
|
|
|
|
|
|
* Tests with --valgrind failed to find "mergetool" scriptlets.
|
|
|
|
(merge ee0d7bf92 tr/mergetool-valgrind later to maint).
|
|
|
|
|
|
|
|
* "git patch-id" miscomputed the patch-id in a patch that has a line longer
|
|
|
|
than 1kB.
|
|
|
|
(merge b9ab810b ms/patch-id-with-overlong-line later to maint).
|
|
|
|
|
|
|
|
* When an "exec" insn failed after modifying the index and/or the working
|
|
|
|
tree during "rebase -i", we now check and warn that the changes need to
|
|
|
|
be cleaned up.
|
|
|
|
(merge 1686519a mm/rebase-i-exec-edit 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).
|
|
|
|
|
|
|
|
---
|
|
|
|
exec >/var/tmp/1
|
|
|
|
O=v1.7.7-236-g5366afa
|
|
|
|
echo O=$(git describe --always master)
|
|
|
|
git log --first-parent --oneline --reverse ^$O master
|
|
|
|
echo
|
|
|
|
git shortlog --no-merges ^$O master
|