|
| 1 | +Git v1.7.5 Release Notes |
| 2 | +======================== |
| 3 | + |
| 4 | +Updates since v1.7.4 |
| 5 | +-------------------- |
| 6 | + |
| 7 | + * Various MinGW portability fixes. |
| 8 | + |
| 9 | + * Various git-p4 enhancements (in contrib). |
| 10 | + |
| 11 | + * Various vcs-svn, git-svn and gitk enhancements and fixes. |
| 12 | + |
| 13 | + * Various git-gui updates (0.14.0). |
| 14 | + |
| 15 | + * Update to more modern HP-UX port. |
| 16 | + |
| 17 | + * The codebase is getting prepared for i18n/l10n; no translated |
| 18 | + strings nor translation mechanism in the code yet, but the strings |
| 19 | + are being marked for l10n. |
| 20 | + |
| 21 | + * The bash completion script can now complete symmetric difference |
| 22 | + for "git diff" command, e.g. "git diff ...bra<TAB>". |
| 23 | + |
| 24 | + * The default minimum length of abbreviated and unique object names |
| 25 | + can now be configured by setting the core.abbrev configuration |
| 26 | + variable. |
| 27 | + |
| 28 | + * "git apply -v" reports offset lines when the patch does not apply at |
| 29 | + the exact location recorded in the diff output. |
| 30 | + |
| 31 | + * "git config" used to be also known as "git repo-config", but the old |
| 32 | + name is now officially deprecated. |
| 33 | + |
| 34 | + * "git checkout --detach <commit>" is a more user friendly synonym for |
| 35 | + "git checkout <commit>^0". |
| 36 | + |
| 37 | + * "git checkout" performed on detached HEAD gives a warning and |
| 38 | + advice when the commit being left behind will become unreachable from |
| 39 | + any branch or tag. |
| 40 | + |
| 41 | + * "git cherry-pick" and "git revert" can be told to use a custom merge |
| 42 | + strategy, similar to "git rebase". |
| 43 | + |
| 44 | + * "git cherry-pick" remembers which commit failed to apply when it is |
| 45 | + stopped by conflicts, making it unnecessary to use "commit -c $commit" |
| 46 | + to conclude it. |
| 47 | + |
| 48 | + * "git cvsimport" bails out immediately when the cvs server cannot be |
| 49 | + reached, without spewing unnecessary error messages that complain about |
| 50 | + the server response it never got. |
| 51 | + |
| 52 | + * "git fetch" vs "git upload-pack" transfer learned 'no-done' |
| 53 | + protocol extension to save one round-trip after the content |
| 54 | + negotiation is done. This saves one HTTP RPC, reducing the overall |
| 55 | + latency for a trivial fetch. |
| 56 | + |
| 57 | + * "git fetch" can be told to recursively fetch submodules on-demand. |
| 58 | + |
| 59 | + * "git grep -f <filename>" learned to treat "-" as "read from the |
| 60 | + standard input stream". |
| 61 | + |
| 62 | + * "git grep --no-index" did not honor pathspecs correctly, returning |
| 63 | + paths outside the specified area. |
| 64 | + |
| 65 | + * "git init" learned the --separate-git-dir option to allow the git |
| 66 | + directory for a new repository created elsewhere and linked via the |
| 67 | + gitdir mechanism. This is primarily to help submodule support later |
| 68 | + to switch between a branch of superproject that has the submodule |
| 69 | + and another that does not. |
| 70 | + |
| 71 | + * "git log" type commands now understand globbing pathspecs. You |
| 72 | + can say "git log -- '*.txt'" for example. |
| 73 | + |
| 74 | + * "git log" family of commands learned --cherry and --cherry-mark |
| 75 | + options that can be used to view two diverged branches while omitting |
| 76 | + or highlighting equivalent changes that appear on both sides of a |
| 77 | + symmetric difference (e.g. "log --cherry A...B"). |
| 78 | + |
| 79 | + * A lazy "git merge" that didn't say what to merge used to be an error. |
| 80 | + When run on a branch that has an upstream defined, however, the command |
| 81 | + now merges from the configured upstream. |
| 82 | + |
| 83 | + * "git mergetool" learned how to drive "beyond compare 3" as well. |
| 84 | + |
| 85 | + * "git rerere forget" without pathspec used to forget all the saved |
| 86 | + conflicts that relate to the current merge; it now requires you to |
| 87 | + give it pathspecs. |
| 88 | + |
| 89 | + * "git rev-list --objects $revs -- $pathspec" now limits the objects listed |
| 90 | + in its output properly with the pathspec, in preparation for narrow |
| 91 | + clones. |
| 92 | + |
| 93 | + * "git push" with no parameters gives better advice messages when |
| 94 | + "tracking" is used as the push.default semantics or there is no remote |
| 95 | + configured yet. |
| 96 | + |
| 97 | + * A possible value to the "push.default" configuration variable, |
| 98 | + 'tracking', gained a synonym that more naturally describes what it |
| 99 | + does, 'upstream'. |
| 100 | + |
| 101 | + * "git rerere" learned a new subcommand "remaining" that is similar to |
| 102 | + "status" and lists the paths that had conflicts which are known to |
| 103 | + rerere, but excludes the paths that have already been marked as |
| 104 | + resolved in the index from its output. "git mergetool" has been |
| 105 | + updated to use this facility. |
| 106 | + |
| 107 | +Also contains various documentation updates. |
| 108 | + |
| 109 | + |
| 110 | +Fixes since v1.7.4 |
| 111 | +------------------ |
| 112 | + |
| 113 | +All of the fixes in the v1.7.4.X maintenance series are included in this |
| 114 | +release, unless otherwise noted. |
| 115 | + |
| 116 | + * "git fetch" from a client that is mostly following the remote |
| 117 | + needlessly told all of its refs to the server for both sides to |
| 118 | + compute the set of objects that need to be transferred efficiently, |
| 119 | + instead of stopping when the server heard enough. In a project with |
| 120 | + many tags, this turns out to be extremely wasteful, especially over |
| 121 | + the smart HTTP transport (sp/maint-{upload,fetch}-pack-stop-early~1). |
| 122 | + |
| 123 | + * "git fetch" run from a repository that uses the same repository as |
| 124 | + its alternate object store as the repository it is fetching from |
| 125 | + did not tell the server that it already has access to objects |
| 126 | + reachable from the refs in their common alternate object store, |
| 127 | + causing it to fetch unnecessary objects (jc/maint-fetch-alt). |
| 128 | + |
| 129 | + * "git remote add --mirror" created a configuration that is suitable for |
| 130 | + doing both a mirror fetch and a mirror push at the same time, which |
| 131 | + made little sense. We now warn and require the command line to specify |
| 132 | + either --mirror=fetch or --mirror=push. |
0 commit comments