| 1 | Git v1.7.9 Release Notes |
| 2 | ======================== |
| 3 | |
| 4 | Updates 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 | * Git uses gettext to translate its most common interface messages |
| 14 | into the user's language if translations are available and the |
| 15 | locale is appropriately set. Distributors can drop new PO files |
| 16 | in po/ to add new translations. |
| 17 | |
| 18 | * The code to handle username/password for HTTP transactions used in |
| 19 | "git push" & "git fetch" learned to talk "credential API" to |
| 20 | external programs to cache or store them, to allow integration with |
| 21 | platform native keychain mechanisms. |
| 22 | |
| 23 | * The input prompts in the terminal use our own getpass() replacement |
| 24 | when possible. HTTP transactions used to ask for the username without |
| 25 | echoing back what was typed, but with this change you will see it as |
| 26 | you type. |
| 27 | |
| 28 | * The internals of "revert/cherry-pick" have been tweaked to prepare |
| 29 | building more generic "sequencer" on top of the implementation that |
| 30 | drives them. |
| 31 | |
| 32 | * "git rev-parse FETCH_HEAD" after "git fetch" without specifying |
| 33 | what to fetch from the command line will now show the commit that |
| 34 | would be merged if the command were "git pull". |
| 35 | |
| 36 | * "git add" learned to stream large files directly into a packfile |
| 37 | instead of writing them into individual loose object files. |
| 38 | |
| 39 | * "git checkout -B <current branch> <elsewhere>" is a more intuitive |
| 40 | way to spell "git reset --keep <elsewhere>". |
| 41 | |
| 42 | * "git checkout" and "git merge" learned "--no-overwrite-ignore" option |
| 43 | to tell Git that untracked and ignored files are not expendable. |
| 44 | |
| 45 | * "git commit --amend" learned "--no-edit" option to say that the |
| 46 | user is amending the tree being recorded, without updating the |
| 47 | commit log message. |
| 48 | |
| 49 | * "git commit" and "git reset" re-learned the optimization to prime |
| 50 | the cache-tree information in the index, which makes it faster to |
| 51 | write a tree object out after the index entries are updated. |
| 52 | |
| 53 | * "git commit" detects and rejects an attempt to stuff NUL byte in |
| 54 | the commit log message. |
| 55 | |
| 56 | * "git commit" learned "-S" to GPG-sign the commit; this can be shown |
| 57 | with the "--show-signature" option to "git log". |
| 58 | |
| 59 | * fsck and prune are relatively lengthy operations that still go |
| 60 | silent while making the end-user wait. They learned to give progress |
| 61 | output like other slow operations. |
| 62 | |
| 63 | * The set of built-in function-header patterns for various languages |
| 64 | knows MATLAB. |
| 65 | |
| 66 | * "git log --format='<format>'" learned new %g[nNeE] specifiers to |
| 67 | show information from the reflog entries when walking the reflog |
| 68 | (i.e. with "-g"). |
| 69 | |
| 70 | * "git pull" can be used to fetch and merge an annotated/signed tag, |
| 71 | instead of the tip of a topic branch. The GPG signature from the |
| 72 | signed tag is recorded in the resulting merge commit for later |
| 73 | auditing. |
| 74 | |
| 75 | * "git log" learned "--show-signature" option to show the signed tag |
| 76 | that was merged that is embedded in the merge commit. It also can |
| 77 | show the signature made on the commit with "git commit -S". |
| 78 | |
| 79 | * "git branch --edit-description" can be used to add descriptive text |
| 80 | to explain what a topic branch is about. |
| 81 | |
| 82 | * "git fmt-merge-msg" learned to take the branch description into |
| 83 | account when preparing a merge summary that "git merge" records |
| 84 | when merging a local branch. |
| 85 | |
| 86 | * "git request-pull" has been updated to convey more information |
| 87 | useful for integrators to decide if a topic is worth merging and |
| 88 | what is pulled is indeed what the requestor asked to pull, |
| 89 | including: |
| 90 | |
| 91 | - the tip of the branch being requested to be merged; |
| 92 | - the branch description describing what the topic is about; |
| 93 | - the contents of the annotated tag, when requesting to pull a tag. |
| 94 | |
| 95 | * "git pull" learned to notice 'pull.rebase' configuration variable, |
| 96 | which serves as a global fallback for setting 'branch.<name>.rebase' |
| 97 | configuration variable per branch. |
| 98 | |
| 99 | * "git tag" learned "--cleanup" option to control how the whitespaces |
| 100 | and empty lines in tag message are cleaned up. |
| 101 | |
| 102 | * "gitweb" learned to show side-by-side diff. |
| 103 | |
| 104 | Also contains minor documentation updates and code clean-ups. |
| 105 | |
| 106 | |
| 107 | Fixes since v1.7.8 |
| 108 | ------------------ |
| 109 | |
| 110 | Unless otherwise noted, all the fixes since v1.7.8 in the maintenance |
| 111 | releases are contained in this release (see release notes to them for |
| 112 | details). |