1 Git v1.7.9 Release Notes (draft)
2 ========================
7 * git-gui updated to 0.16.0.
9 * git-p4 (in contrib/) updates.
11 * Porcelain commands like "git reset" did not distinguish deletions
12 and type-changes from ordinary modification, and reported them with
13 the same 'M' moniker. They now use 'D' (for deletion) and 'T' (for
14 type-change) to match "git status -s" and "git diff --name-status".
16 * "git branch -m <current branch> HEAD" is an obvious no-op and is
19 * "git checkout -B <current branch> <elsewhere>" is a more intuitive
20 way to spell "git reset --keep <elsewhere>".
22 * "git checkout" and "git merge" learned "--no-overwrite-ignore" option
23 to tell Git that untracked and ignored files are not expendable.
25 * fsck and prune are relatively lengthy operations that still go
26 silent while making the end-user wait. They learned to give progress
27 output like other slow operations.
29 * The set of built-in function-header patterns for various languages
32 * "git pull" can be used to fetch and merge an annotated/signed tag,
33 instead of the tip of a topic branch. The GPG signature from the
34 signed tag is recorded in the resulting merge commit for later
37 * "git branch --edit-description" can be used to add descriptive text
38 to explain what a topic branch is about.
40 * "git fmt-merge-msg" learned to take the branch description into
41 account when preparing a merge summary that "git merge" records
42 when merging a local branch.
44 * "git request-pull" has been updated to convey more information
45 useful for integrators to decide if a topic is worth merging and
46 what is pulled is indeed what the requestor asked to pull,
49 - the tip of the branch being requested to be merged;
50 - the branch description describing what the topic is about;
51 - the contents of the annotated tag, when requesting to pull a tag.
53 * "git pull" learned to notice 'pull.rebase' configuration variable,
54 which serves as a global fallback for setting 'branch.<name>.rebase'
55 configuration variable per branch.
57 * "git tag" learned "--cleanup" option to control how the whitespaces
58 and empty lines in tag message are cleaned up.
60 * "gitweb" learned to show side-by-side diff.
62 Also contains minor documentation updates and code clean-ups.
68 * The function header pattern for files with "diff=cpp" attribute did
69 not consider "type *funcname(type param1,..." as the beginning of a
71 (merge 37e7793 tr/userdiff-c-returns-pointer later to maint).
73 * LF-to-CRLF streaming filter used when checking out a large-ish blob
74 fell into an infinite loop with a rare input.
75 (merge 284e3d2 cn/maint-lf-to-crlf-filter later to maint).
77 * "git archive" mistakenly allowed remote clients to ask for commits
78 that are not at the tip of any ref.
79 (merge 7b51c33 jk/maint-upload-archive later to maint).
81 * "git apply --check" did not error out when given an empty input
83 (merge cc64b31 bc/maint-apply-check-no-patch later to maint).
85 * The error message from "git diff" and "git status" when they fail
86 to inspect changes in submodules did not report which submodule they
88 (merge 6a5ceda jl/submodule-status-failure-report later to maint).
93 echo O=$(git describe master)
94 git log --first-parent --oneline --reverse ^$O master
96 git shortlog --no-merges ^$O ^maint master