1Git v1.7.9 Release Notes (draft) 2======================== 3 4Updates since v1.7.8 5-------------------- 6 7 * gitk updates accumulated since early 2011. 8 9 * git-gui updated to 0.16.0. 10 11 * git-p4 (in contrib/) updates. 12 13 * Porcelain commands like "git reset" did not distinguish deletions 14 and type-changes from ordinary modification, and reported them with 15 the same 'M' moniker. They now use 'D' (for deletion) and 'T' (for 16 type-change) to match "git status -s" and "git diff --name-status". 17 18 * "git add" learned to stream large files directly into a packfile 19 instead of writing them into individual loose object files. 20 21 * "git branch -m <current branch> HEAD" is an obvious no-op and is 22 now allowed. 23 24 * "git checkout -B <current branch> <elsewhere>" is a more intuitive 25 way to spell "git reset --keep <elsewhere>". 26 27 * "git checkout" and "git merge" learned "--no-overwrite-ignore" option 28 to tell Git that untracked and ignored files are not expendable. 29 30 * "git commit --amend" learned "--no-edit" option to say that the 31 user is amending the tree being recorded, without updating the 32 commit log message. 33 34 * fsck and prune are relatively lengthy operations that still go 35 silent while making the end-user wait. They learned to give progress 36 output like other slow operations. 37 38 * The set of built-in function-header patterns for various languages 39 knows MATLAB. 40 41 * "git pull" can be used to fetch and merge an annotated/signed tag, 42 instead of the tip of a topic branch. The GPG signature from the 43 signed tag is recorded in the resulting merge commit for later 44 auditing. 45 46 * "git branch --edit-description" can be used to add descriptive text 47 to explain what a topic branch is about. 48 49 * "git fmt-merge-msg" learned to take the branch description into 50 account when preparing a merge summary that "git merge" records 51 when merging a local branch. 52 53 * "git request-pull" has been updated to convey more information 54 useful for integrators to decide if a topic is worth merging and 55 what is pulled is indeed what the requestor asked to pull, 56 including: 57 58 - the tip of the branch being requested to be merged; 59 - the branch description describing what the topic is about; 60 - the contents of the annotated tag, when requesting to pull a tag. 61 62 * "git pull" learned to notice 'pull.rebase' configuration variable, 63 which serves as a global fallback for setting 'branch.<name>.rebase' 64 configuration variable per branch. 65 66 * "git tag" learned "--cleanup" option to control how the whitespaces 67 and empty lines in tag message are cleaned up. 68 69 * "gitweb" learned to show side-by-side diff. 70 71Also contains minor documentation updates and code clean-ups. 72 73 74Fixes since v1.7.8 75------------------ 76 77 * The function header pattern for files with "diff=cpp" attribute did 78 not consider "type *funcname(type param1,..." as the beginning of a 79 function. 80 (merge 37e7793 tr/userdiff-c-returns-pointer later to maint). 81 82 * LF-to-CRLF streaming filter used when checking out a large-ish blob 83 fell into an infinite loop with a rare input. 84 (merge 284e3d2 cn/maint-lf-to-crlf-filter later to maint). 85 86 * "git archive" mistakenly allowed remote clients to ask for commits 87 that are not at the tip of any ref. 88 (merge 7b51c33 jk/maint-upload-archive later to maint). 89 90 * "git apply --check" did not error out when given an empty input 91 without any patch. 92 (merge cc64b31 bc/maint-apply-check-no-patch later to maint). 93 94 * The error message from "git diff" and "git status" when they fail 95 to inspect changes in submodules did not report which submodule they 96 had trouble with. 97 (merge 6a5ceda jl/submodule-status-failure-report later to maint). 98 99 * "fast-import" did not correctly update an existing notes tree, 100 possibly corrupting the fan-out. 101 102 * When a "reword" action in "git rebase -i" failed to run "commit --amend", 103 we did not give the control back to the user to resolve the situation, and 104 instead kept the original commit log message. 105 (merge 0becb3e aw/rebase-i-stop-on-failure-to-amend later to maint). 106 107-- 108exec >/var/tmp/1 109O=v1.7.8-282-ga2add85 110echo O=$(git describe master) 111git log --first-parent --oneline --reverse ^$O master 112echo 113git shortlog --no-merges ^$O ^maint master