Skip to content

Commit

Permalink
Merge tag 'v2.7.0'
Browse files Browse the repository at this point in the history
Git 2.7

* tag 'v2.7.0': (539 commits)
  Git 2.7
  Git 2.6.5
  l10n: de.po: translate 68 new messages
  l10n: de.po: improve some translations
  Git 2.7-rc3
  l10n: ru.po: update Russian translation
  l10n: Updated Bulgarian translation of git (2477t,0f,0u)
  l10n: ca.po: update translation
  l10n: zh_CN: for git v2.7.0 l10n round 2
  l10n: sv.po: Update Swedish translation (2477t0f0u)
  l10n: sv: Fix bad translation
  l10n: fr.po v2.7.0 round 2 (2477t)
  Git 2.7-rc2
  push: don't mark options of recurse-submodules for translation
  l10n: git.pot: v2.7.0 round 2 (2 new, 2 removed)
  t1401: test reflog creation for git-symbolic-ref
  symbolic-ref: propagate error code from create_symref()
  git-p4: reduce number of server queries for fetches
  git-p4: support multiple depot paths in p4 submit
  Update release notes to 2.7
  ...
  • Loading branch information
felipec committed May 18, 2016
2 parents 681f169 + 7548842 commit 80dce79
Show file tree
Hide file tree
Showing 432 changed files with 38,797 additions and 27,891 deletions.
1 change: 1 addition & 0 deletions .gitignore
Expand Up @@ -158,6 +158,7 @@
/git-status
/git-stripspace
/git-submodule
/git-submodule--helper
/git-svn
/git-symbolic-ref
/git-tag
Expand Down
2 changes: 1 addition & 1 deletion Documentation/RelNotes/1.7.7.txt
Expand Up @@ -84,7 +84,7 @@ Updates since v1.7.6
logic used by "git diff" to determine the hunk header.

* Invoking the low-level "git http-fetch" without "-a" option (which
git itself never did---normal users should not have to worry about
git itself never did--normal users should not have to worry about
this) is now deprecated.

* The "--decorate" option to "git log" and its family learned to
Expand Down
2 changes: 1 addition & 1 deletion Documentation/RelNotes/1.8.3.1.txt
@@ -1,5 +1,5 @@
Git v1.8.3.1 Release Notes
========================
==========================

Fixes since v1.8.3
------------------
Expand Down
2 changes: 1 addition & 1 deletion Documentation/RelNotes/1.8.4.1.txt
@@ -1,5 +1,5 @@
Git v1.8.4.1 Release Notes
========================
==========================

Fixes since v1.8.4
------------------
Expand Down
2 changes: 1 addition & 1 deletion Documentation/RelNotes/1.8.4.2.txt
@@ -1,5 +1,5 @@
Git v1.8.4.2 Release Notes
========================
==========================

Fixes since v1.8.4.1
--------------------
Expand Down
2 changes: 1 addition & 1 deletion Documentation/RelNotes/1.8.4.3.txt
@@ -1,5 +1,5 @@
Git v1.8.4.3 Release Notes
========================
==========================

Fixes since v1.8.4.2
--------------------
Expand Down
2 changes: 1 addition & 1 deletion Documentation/RelNotes/1.8.4.4.txt
@@ -1,5 +1,5 @@
Git v1.8.4.4 Release Notes
========================
==========================

Fixes since v1.8.4.3
--------------------
Expand Down
2 changes: 1 addition & 1 deletion Documentation/RelNotes/1.9.0.txt
Expand Up @@ -177,7 +177,7 @@ Performance, Internal Implementation, etc.
* The naming convention of the packfiles has been updated; it used to
be based on the enumeration of names of the objects that are
contained in the pack, but now it also depends on how the packed
result is represented---packing the same set of objects using
result is represented--packing the same set of objects using
different settings (or delta order) would produce a pack with
different name.

Expand Down
18 changes: 18 additions & 0 deletions Documentation/RelNotes/2.3.10.txt
@@ -0,0 +1,18 @@
Git v2.3.10 Release Notes
=========================

Fixes since v2.3.9
------------------

* xdiff code we use to generate diffs is not prepared to handle
extremely large files. It uses "int" in many places, which can
overflow if we have a very large number of lines or even bytes in
our input files, for example. Cap the input size to soemwhere
around 1GB for now.

* Some protocols (like git-remote-ext) can execute arbitrary code
found in the URL. The URLs that submodules use may come from
arbitrary sources (e.g., .gitmodules files in a remote
repository), and can hurt those who blindly enable recursive
fetch. Restrict the allowed protocols to well known and safe
ones.
18 changes: 18 additions & 0 deletions Documentation/RelNotes/2.4.10.txt
@@ -0,0 +1,18 @@
Git v2.4.10 Release Notes
=========================

Fixes since v2.4.9
------------------

* xdiff code we use to generate diffs is not prepared to handle
extremely large files. It uses "int" in many places, which can
overflow if we have a very large number of lines or even bytes in
our input files, for example. Cap the input size to soemwhere
around 1GB for now.

* Some protocols (like git-remote-ext) can execute arbitrary code
found in the URL. The URLs that submodules use may come from
arbitrary sources (e.g., .gitmodules files in a remote
repository), and can hurt those who blindly enable recursive
fetch. Restrict the allowed protocols to well known and safe
ones.
18 changes: 18 additions & 0 deletions Documentation/RelNotes/2.5.4.txt
@@ -0,0 +1,18 @@
Git v2.5.4 Release Notes
========================

Fixes since v2.5.4
------------------

* xdiff code we use to generate diffs is not prepared to handle
extremely large files. It uses "int" in many places, which can
overflow if we have a very large number of lines or even bytes in
our input files, for example. Cap the input size to soemwhere
around 1GB for now.

* Some protocols (like git-remote-ext) can execute arbitrary code
found in the URL. The URLs that submodules use may come from
arbitrary sources (e.g., .gitmodules files in a remote
repository), and can hurt those who blindly enable recursive
fetch. Restrict the allowed protocols to well known and safe
ones.
18 changes: 18 additions & 0 deletions Documentation/RelNotes/2.6.1.txt
@@ -0,0 +1,18 @@
Git v2.6.1 Release Notes
========================

Fixes since v2.6
----------------

* xdiff code we use to generate diffs is not prepared to handle
extremely large files. It uses "int" in many places, which can
overflow if we have a very large number of lines or even bytes in
our input files, for example. Cap the input size to soemwhere
around 1GB for now.

* Some protocols (like git-remote-ext) can execute arbitrary code
found in the URL. The URLs that submodules use may come from
arbitrary sources (e.g., .gitmodules files in a remote
repository), and can hurt those who blindly enable recursive
fetch. Restrict the allowed protocols to well known and safe
ones.
65 changes: 65 additions & 0 deletions Documentation/RelNotes/2.6.2.txt
@@ -0,0 +1,65 @@
Git v2.6.2 Release Notes
========================

Fixes since v2.6.1
------------------

* There were some classes of errors that "git fsck" diagnosed to its
standard error that did not cause it to exit with non-zero status.

* A test script for the HTTP service had a timing dependent bug,
which was fixed.

* Performance-measurement tests did not work without an installed Git.

* On a case insensitive filesystems, setting GIT_WORK_TREE variable
using a random cases that does not agree with what the filesystem
thinks confused Git that it wasn't inside the working tree.

* When "git am" was rewritten as a built-in, it stopped paying
attention to user.signingkey, which was fixed.

* After "git checkout --detach", "git status" reported a fairly
useless "HEAD detached at HEAD", instead of saying at which exact
commit.

* "git rebase -i" had a minor regression recently, which stopped
considering a line that begins with an indented '#' in its insn
sheet not a comment, which is now fixed.

* Description of the "log.follow" configuration variable in "git log"
documentation is now also copied to "git config" documentation.

* Allocation related functions and stdio are unsafe things to call
inside a signal handler, and indeed killing the pager can cause
glibc to deadlock waiting on allocation mutex as our signal handler
tries to free() some data structures in wait_for_pager(). Reduce
these unsafe calls.

* The way how --ref/--notes to specify the notes tree reference are
DWIMmed was not clearly documented.

* Customization to change the behaviour with "make -w" and "make -s"
in our Makefile was broken when they were used together.

* The Makefile always runs the library archiver with hardcoded "crs"
options, which was inconvenient for exotic platforms on which
people want to use programs with totally different set of command
line options.

* The ssh transport, just like any other transport over the network,
did not clear GIT_* environment variables, but it is possible to
use SendEnv and AcceptEnv to leak them to the remote invocation of
Git, which is not a good idea at all. Explicitly clear them just
like we do for the local transport.

* "git blame --first-parent v1.0..v2.0" was not rejected but did not
limit the blame to commits on the first parent chain.

* Very small number of options take a parameter that is optional
(which is not a great UI element as they can only appear at the end
of the command line). Add notice to documentation of each and
every one of them.

Also contains typofixes, documentation updates and trivial code
clean-ups.
111 changes: 111 additions & 0 deletions Documentation/RelNotes/2.6.3.txt
@@ -0,0 +1,111 @@
Git v2.6.3 Release Notes
========================

Fixes since v2.6.2
------------------

* The error message from "git blame --contents --reverse" incorrectly
talked about "--contents --children".

* "git merge-file" tried to signal how many conflicts it found, which
obviously would not work well when there are too many of them.

* The name-hash subsystem that is used to cope with case insensitive
filesystems keeps track of directories and their on-filesystem
cases for all the paths in the index by holding a pointer to a
randomly chosen cache entry that is inside the directory (for its
ce->ce_name component). This pointer was not updated even when the
cache entry was removed from the index, leading to use after free.
This was fixed by recording the path for each directory instead of
borrowing cache entries and restructuring the API somewhat.

* When the "git am" command was reimplemented in C, "git am -3" had a
small regression where it is aborted in its error handling codepath
when underlying merge-recursive failed in some ways.

* The synopsis text and the usage string of subcommands that read
list of things from the standard input are often shown as if they
only take input from a file on a filesystem, which was misleading.

* A couple of commands still showed "[options]" in their usage string
to note where options should come on their command line, but we
spell that "[<options>]" in most places these days.

* The submodule code has been taught to work better with separate
work trees created via "git worktree add".

* When "git gc --auto" is backgrounded, its diagnosis message is
lost. It now is saved to a file in $GIT_DIR and is shown next time
the "gc --auto" is run.

* Work around "git p4" failing when the P4 depot records the contents
in UTF-16 without UTF-16 BOM.

* Recent update to "rebase -i" that tries to sanity check the edited
insn sheet before it uses it has become too picky on Windows where
CRLF left by the editor is turned into a trailing CR on the line
read via the "read" built-in command.

* "git clone --dissociate" runs a big "git repack" process at the
end, and it helps to close file descriptors that are open on the
packs and their idx files before doing so on filesystems that
cannot remove a file that is still open.

* Correct "git p4 --detect-labels" so that it does not fail to create
a tag that points at a commit that is also being imported.

* The internal stripspace() function has been moved to where it
logically belongs to, i.e. strbuf API, and the command line parser
of "git stripspace" has been updated to use the parse_options API.

* Prepare for Git on-disk repository representation to undergo
backward incompatible changes by introducing a new repository
format version "1", with an extension mechanism.

* "git gc" used to barf when a symbolic ref has gone dangling
(e.g. the branch that used to be your upstream's default when you
cloned from it is now gone, and you did "fetch --prune").

* The normalize_ceiling_entry() function does not muck with the end
of the path it accepts, and the real world callers do rely on that,
but a test insisted that the function drops a trailing slash.

* "git gc" is safe to run anytime only because it has the built-in
grace period to protect young objects. In order to run with no
grace period, the user must make sure that the repository is
quiescent.

* A recent "filter-branch --msg-filter" broke skipping of the commit
object header, which is fixed.

* "git --literal-pathspecs add -u/-A" without any command line
argument misbehaved ever since Git 2.0.

* Merging a branch that removes a path and another that changes the
mode bits on the same path should have conflicted at the path, but
it didn't and silently favoured the removal.

* "git imap-send" did not compile well with older version of cURL library.

* The linkage order of libraries was wrong in places around libcurl.

* It was not possible to use a repository-lookalike created by "git
worktree add" as a local source of "git clone".

* When "git send-email" wanted to talk over Net::SMTP::SSL,
Net::Cmd::datasend() did not like to be fed too many bytes at the
same time and failed to send messages. Send the payload one line
at a time to work around the problem.

* We peek objects from submodule's object store by linking it to the
list of alternate object databases, but the code to do so forgot to
correctly initialize the list.

* "git status --branch --short" accessed beyond the constant string
"HEAD", which has been corrected.

* "git daemon" uses "run_command()" without "finish_command()", so it
needs to release resources itself, which it forgot to do.

Also contains typofixes, documentation updates and trivial code
clean-ups.
63 changes: 63 additions & 0 deletions Documentation/RelNotes/2.6.4.txt
@@ -0,0 +1,63 @@
Git v2.6.4 Release Notes
========================

Fixes since v2.6.3
------------------

* The "configure" script did not test for -lpthread correctly, which
upset some linkers.

* Add support for talking http/https over socks proxy.

* Portability fix for Windows, which may rewrite $SHELL variable using
non-POSIX paths.

* We now consistently allow all hooks to ignore their standard input,
rather than having git complain of SIGPIPE.

* Fix shell quoting in contrib script.

* Test portability fix for a topic in v2.6.1.

* Allow tilde-expansion in some http config variables.

* Give a useful special case "diff/show --word-diff-regex=." as an
example in the documentation.

* Fix for a corner case in filter-branch.

* Make git-p4 work on a detached head.

* Documentation clarification for "check-ignore" without "--verbose".

* Just like the working tree is cleaned up when the user cancelled
submission in P4Submit.applyCommit(), clean up the mess if "p4
submit" fails.

* Having a leftover .idx file without corresponding .pack file in
the repository hurts performance; "git gc" learned to prune them.

* The code to prepare the working tree side of temporary directory
for the "dir-diff" feature forgot that symbolic links need not be
copied (or symlinked) to the temporary area, as the code already
special cases and overwrites them. Besides, it was wrong to try
computing the object name of the target of symbolic link, which may
not even exist or may be a directory.

* There was no way to defeat a configured rebase.autostash variable
from the command line, as "git rebase --no-autostash" was missing.

* Allow "git interpret-trailers" to run outside of a Git repository.

* Produce correct "dirty" marker for shell prompts, even when we
are on an orphan or an unborn branch.

* Some corner cases have been fixed in string-matching done in "git
status".

* Apple's common crypto implementation of SHA1_Update() does not take
more than 4GB at a time, and we now have a compile-time workaround
for it.

Also contains typofixes, documentation updates and trivial code
clean-ups.

0 comments on commit 80dce79

Please sign in to comment.