Junio C Hamano
11 years ago
2 changed files with 147 additions and 1 deletions
@ -0,0 +1,146 @@
@@ -0,0 +1,146 @@
|
||||
Git v2.0 Release Notes |
||||
====================== |
||||
|
||||
Backward compatibility notes |
||||
---------------------------- |
||||
|
||||
When "git push [$there]" does not say what to push, we have used the |
||||
traditional "matching" semantics so far (all your branches were sent |
||||
to the remote as long as there already are branches of the same name |
||||
over there). In Git 2.0, the default is now the "simple" semantics, |
||||
which pushes: |
||||
|
||||
- only the current branch to the branch with the same name, and only |
||||
when the current branch is set to integrate with that remote |
||||
branch, if you are pushing to the same remote as you fetch from; or |
||||
|
||||
- only the current branch to the branch with the same name, if you |
||||
are pushing to a remote that is not where you usually fetch from. |
||||
|
||||
You can use the configuration variable "push.default" to change |
||||
this. If you are an old-timer who wants to keep using the |
||||
"matching" semantics, you can set the variable to "matching", for |
||||
example. Read the documentation for other possibilities. |
||||
|
||||
When "git add -u" and "git add -A" are run inside a subdirectory |
||||
without specifying which paths to add on the command line, they |
||||
operate on the entire tree for consistency with "git commit -a" and |
||||
other commands (these commands used to operate only on the current |
||||
subdirectory). Say "git add -u ." or "git add -A ." if you want to |
||||
limit the operation to the current directory. |
||||
|
||||
"git add <path>" is the same as "git add -A <path>" now, so that |
||||
"git add dir/" will notice paths you removed from the directory and |
||||
record the removal. In older versions of Git, "git add <path>" used |
||||
to ignore removals. You can say "git add --ignore-removal <path>" to |
||||
add only added or modified paths in <path>, if you really want to. |
||||
|
||||
The "-q" option to "git diff-files", which does *NOT* mean "quiet", |
||||
has been removed (it told Git to ignore deletion, which you can do |
||||
with "git diff-files --diff-filter=d"). |
||||
|
||||
|
||||
Updates since v1.9 series |
||||
------------------------- |
||||
|
||||
Foreign interfaces, subsystems and ports. |
||||
|
||||
|
||||
UI, Workflows & Features |
||||
|
||||
* The "simple" mode is the default for "git push". |
||||
|
||||
* "git add -u" and "git add -A", when run without any pathspec, is a |
||||
tree-wide operation even when run inside a subdirectory of a |
||||
working tree. |
||||
|
||||
* "git add <path> is the same as "git add -A <path>" now. |
||||
|
||||
* "core.statinfo" configuration variable, which is a |
||||
never-advertised synonym to "core.checkstat", has been removed. |
||||
|
||||
* The "-q" option to "git diff-files", which does *NOT* mean |
||||
"quiet", has been removed (it told Git to ignore deletion, which |
||||
you can do with "git diff-files --diff-filter=d"). |
||||
|
||||
* Many commands that creates commits, e.g. "pull", "rebase", |
||||
learned to take the --gpg-sign option on the command line. |
||||
|
||||
* "git commit" can be told to always GPG sign the resulting commit |
||||
by setting "commit.gpgsign" configuration variable to true (the |
||||
command line option --no-gpg-sign should override it). |
||||
|
||||
* "git pull" can be told to only accept fast-forward by setting the |
||||
new "pull.ff" configuration. |
||||
|
||||
* "git reset" learned "-N" option, which does not reset the index |
||||
fully for paths the index knows about but the tree-ish the command |
||||
resets to does not (these paths are kept as intend-to-add entries). |
||||
|
||||
* Newly cloned submodule repositories by "git submodule update", |
||||
when the "checkout" update mode is used, will be on a local |
||||
branch instead of on a detached HEAD, just like submodules added |
||||
with "git submodule add". |
||||
|
||||
|
||||
Performance, Internal Implementation, etc. |
||||
|
||||
* The bitmap-index feature from JGit has been ported, which should |
||||
significantly improve performance when serving objects form a |
||||
repository that uses it. |
||||
|
||||
* The way "git log --cc" shows a combined diff against multiple |
||||
parents have been optimized. |
||||
|
||||
* The prefixcmp() and suffixcmp() functions are gone. Use |
||||
starts_with() and ends_with(), and also consider if skip_prefix() |
||||
suits your needs better when using the former. |
||||
|
||||
|
||||
Also contains various documentation updates and code clean-ups. |
||||
|
||||
|
||||
Fixes since v1.9 series |
||||
----------------------- |
||||
|
||||
Unless otherwise noted, all the fixes since v1.9 in the maintenance |
||||
track are contained in this release (see the maintenance releases' |
||||
notes for details). |
||||
|
||||
* "merge-recursive" was broken in 1.7.7 era and stopped working in |
||||
an empty (temporary) working tree, when there are renames |
||||
involved. This has been corrected. |
||||
(merge 6e2068a bk/refresh-missing-ok-in-merge-recursive later to maint.) |
||||
|
||||
* "git rev-parse" was loose in rejecting command line arguments |
||||
that do not make sense, e.g. "--default" without the required |
||||
value for that option. |
||||
(merge a43219f ds/rev-parse-required-args later to maint.) |
||||
|
||||
* include.path variable (or any variable that expects a path that |
||||
can use ~username expansion) in the configuration file is not a |
||||
boolean, but the code failed to check it. |
||||
(merge 67beb60 jk/config-path-include-fix later to maint.) |
||||
|
||||
* Commands that take pathspecs on the command line misbehaved when |
||||
the pathspec is given as an absolute pathname (which is a |
||||
practice not particularly encouraged) that points at a symbolic |
||||
link in the working tree. |
||||
(merge later 655ee9e mw/symlinks to maint.) |
||||
|
||||
* "git diff --quiet -- pathspec1 pathspec2" sometimes did not return |
||||
correct status value. |
||||
(merge f34b205 nd/diff-quiet-stat-dirty later to maint.) |
||||
|
||||
* Attempting to deepen a shallow repository by fetching over smart |
||||
HTTP transport failed in the protocol exchange, when no-done |
||||
extension was used. The fetching side waited for the list of |
||||
shallow boundary commits after the sending end stopped talking to |
||||
it. |
||||
(merge 0232852 nd/http-fetch-shallow-fix later to maint.) |
||||
|
||||
* Allow "git cmd path/", when the 'path' is where a submodule is |
||||
bound to the top-level working tree, to match 'path', despite the |
||||
extra and unnecessary trailing slash (such a slash is often |
||||
given by command line completion). |
||||
(merge 2e70c01 nd/submodule-pathspec-ending-with-slash later to maint.) |
Loading…
Reference in new issue