Junio C Hamano
10 years ago
3 changed files with 156 additions and 2 deletions
@ -0,0 +1,154 @@
@@ -0,0 +1,154 @@
|
||||
Git 2.6 Release Notes |
||||
===================== |
||||
|
||||
Updates since v2.5 |
||||
------------------ |
||||
|
||||
UI, Workflows & Features |
||||
|
||||
* An asterisk as a substring (as opposed to the entirety) of a path |
||||
component for both side of a refspec, e.g. |
||||
"refs/heads/o*:refs/remotes/heads/i*", is now allowed. |
||||
|
||||
* New userdiff pattern definition for fountain screenwriting markup |
||||
format has been added. |
||||
|
||||
* "git log" and friends learned a new "--date=format:..." option to |
||||
format timestamps using system's strftime(3). |
||||
|
||||
* "git fast-import" learned to respond to the get-mark command via |
||||
its cat-blob-fd interface. |
||||
|
||||
* "git rebase -i" learned "drop commit-object-name subject" command |
||||
as another way to skip replaying of a commit. |
||||
|
||||
* A new configuration variable can enable "--follow" automatically |
||||
when "git log" is run with one pathspec argument. |
||||
|
||||
* "git status" learned to show a more detailed information regarding |
||||
the "rebase -i" session in progress. |
||||
|
||||
* "git cat-file" learned "--batch-all-objects" option to enumerate all |
||||
available objects in the repository more quickly than "rev-list |
||||
--all --objects" (the output includes unreachable objects, though). |
||||
|
||||
* "git fsck" learned to ignore errors on a set of known-to-be-bad |
||||
objects, and also allows the warning levels of various kinds of |
||||
non-critical breakages to be tweaked. |
||||
|
||||
* "git rebase -i"'s list of todo is made configurable. |
||||
|
||||
* "git send-email" now performs alias-expansion on names that are |
||||
given via --cccmd, etc. |
||||
|
||||
* An environment variable GIT_REPLACE_REF_BASE tells Git to look into |
||||
refs hierarchy other than refs/replace/ for the object replacement |
||||
data. |
||||
|
||||
|
||||
Performance, Internal Implementation, Development Support etc. |
||||
|
||||
* In preparation for allowing different "backends" to store the refs |
||||
in a way different from the traditional "one ref per file in |
||||
$GIT_DIR or in a $GIT_DIR/packed-refs file" filesystem storage, |
||||
direct filesystem access to ref-like things like CHERRY_PICK_HEAD |
||||
from scripts and programs has been reduced. |
||||
|
||||
* Computation of untracked status indicator by bash prompt |
||||
script (in contrib/) has been optimized. |
||||
|
||||
* Memory use reduction when commit-slab facility is used to annotate |
||||
sparsely (which is not recommended in the first place). |
||||
|
||||
* Clean up refs API and make "git clone" less intimate with the |
||||
implementation detail. |
||||
|
||||
* "git pull" was reimplemented in C. |
||||
|
||||
* The packet tracing machinery allows to capture an incoming pack |
||||
data to a file for debugging. |
||||
|
||||
* Move machinery to parse human-readable scaled numbers like 1k, 4M, |
||||
and 2G as an option parameter's value from pack-objects to |
||||
parse-options API, to make it available to other codepaths. |
||||
|
||||
* "git verify-tag" and "git verify-commit" have been taught to share |
||||
more code, and then learned to optionally show the verification |
||||
message from the underlying GPG implementation. |
||||
|
||||
* Various enhancements around "git am" reading patches generated by |
||||
foreign SCM have been made. |
||||
|
||||
* Ref listing by "git branch -l" and "git tag -l" commands has |
||||
started to be rebuilt, based on the for-each-ref machinery. |
||||
|
||||
|
||||
Also contains various documentation updates and code clean-ups. |
||||
|
||||
|
||||
Fixes since v2.5 |
||||
---------------- |
||||
|
||||
Unless otherwise noted, all the fixes since v2.5 in the maintenance |
||||
track are contained in this release (see the maintenance releases' |
||||
notes for details). |
||||
|
||||
* "git subtree" (in contrib/) depended on "git log" output to be |
||||
stable, which was a no-no. Apply a workaround to force a |
||||
particular date format. |
||||
(merge e7aac44 da/subtree-date-confusion later to maint). |
||||
|
||||
* An attempt to delete a ref by pushing into a repositorywhose HEAD |
||||
symbolic reference points at an unborn branch that cannot be |
||||
created due to ref D/F conflict (e.g. refs/heads/a/b exists, HEAD |
||||
points at refs/heads/a) failed. |
||||
(merge b112b14 jx/do-not-crash-receive-pack-wo-head later to maint). |
||||
|
||||
* The low-level "git send-pack" did not honor 'user.signingkey' |
||||
configuration variable when sending a signed-push. |
||||
(merge d830d39 db/send-pack-user-signingkey later to maint). |
||||
|
||||
* "sparse checkout" misbehaved for a path that is excluded from the |
||||
checkout when switching between branches that differ at the path. |
||||
(merge 7d78241 as/sparse-checkout-removal later to maint). |
||||
|
||||
* An experimental "untracked cache" feature used uname(2) in a |
||||
slightly unportable way. |
||||
(merge 100e433 cb/uname-in-untracked later to maint). |
||||
|
||||
* A "rebase" replays changes of the local branch on top of something |
||||
else, as such they are placed in stage #3 and referred to as |
||||
"theirs", while the changes in the new base, typically a foreign |
||||
work, are placed in stage #2 and referred to as "ours". Clarify |
||||
the "checkout --ours/--theirs". |
||||
(merge f303016 se/doc-checkout-ours-theirs later to maint). |
||||
|
||||
* The "rev-parse --parseopt" mode parsed the option specification |
||||
and the argument hint in a strange way to allow '=' and other |
||||
special characters in the option name while forbidding them from |
||||
the argument hint. This made it impossible to define an option |
||||
like "--pair <key>=<value>" with "pair=key=value" specification, |
||||
which instead would have defined a "--pair=key <value>" option. |
||||
(merge 2d893df ib/scripted-parse-opt-better-hint-string later to maint). |
||||
|
||||
* Often a fast-import stream builds a new commit on top of the |
||||
previous commit it built, and it often unconditionally emits a |
||||
"from" command to specify the first parent, which can be omitted in |
||||
such a case. This caused fast-import to forget the tree of the |
||||
previous commit and then re-read it from scratch, which was |
||||
inefficient. Optimize for this common case. |
||||
(merge 0df3245 mh/fast-import-optimize-current-from later to maint). |
||||
|
||||
* Running an aliased command from a subdirectory when the .git thing |
||||
in the working tree is a gitfile pointing elsewhere did not work. |
||||
(merge d95138e nd/export-worktree later to maint). |
||||
|
||||
* "Is this subdirectory a separate repository that should not be |
||||
touched?" check "git clean" was inefficient. This was replaced |
||||
with a more optimized check. |
||||
(merge 38ae878 ee/clean-remove-dirs later to maint). |
||||
|
||||
* Code cleanups and documentation updates. |
||||
(merge 1c601af es/doc-clean-outdated-tools later to maint). |
||||
(merge 3581304 kn/tag-doc-fix later to maint). |
||||
(merge 3a59e59 kb/i18n-doc later to maint). |
Loading…
Reference in new issue