1Git v1.7.9 Release Notes (draft) 2======================== 3 4Updates since v1.7.8 5-------------------- 6 7 * git-gui updated to 0.16.0. 8 9 * git-p4 (in contrib/) updates. 10 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". 15 16 * "git branch -m <current branch> HEAD" is an obvious no-op and is 17 now allowed. 18 19 * "git checkout -B <current branch> <elsewhere>" is a more intuitive 20 way to spell "git reset --keep <elsewhere>". 21 22 * "git checkout" and "git merge" learned "--no-overwrite-ignore" option 23 to tell Git that untracked and ignored files are not expendable. 24 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. 28 29 * The set of built-in function-header patterns for various languages 30 knows MATLAB. 31 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 35 auditing. 36 37 * "git branch --edit-description" can be used to add descriptive text 38 to explain what a topic branch is about. 39 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. 43 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, 47 including: 48 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. 52 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. 56 57 * "git tag" learned "--cleanup" option to control how the whitespaces 58 and empty lines in tag message are cleaned up. 59 60 * "gitweb" learned to show side-by-side diff. 61 62Also contains minor documentation updates and code clean-ups. 63 64 65Fixes since v1.7.8 66------------------ 67 68 * The function header pattern for files with "diff=cpp" attribute did 69 not consider "type *funcname(type param1,..." as the beginning of a 70 function. 71 (merge 37e7793 tr/userdiff-c-returns-pointer later to maint). 72 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). 76 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). 80 81 * "git apply --check" did not error out when given an empty input 82 without any patch. 83 (merge cc64b31 bc/maint-apply-check-no-patch later to maint). 84 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 87 had trouble with. 88 (merge 6a5ceda jl/submodule-status-failure-report later to maint). 89 90-- 91exec >/var/tmp/1 92O=v1.7.8-246-gb3f17ac 93echo O=$(git describe master) 94git log --first-parent --oneline --reverse ^$O master 95echo 96git shortlog --no-merges ^$O ^maint master