]>
Commit | Line | Data |
---|---|---|
6ceb270c | 1 | Git v1.7.5 Release Notes |
afb0b793 JH |
2 | ======================== |
3 | ||
4 | Updates since v1.7.4 | |
5 | -------------------- | |
6 | ||
7 | * Various MinGW portability fixes. | |
8 | ||
9 | * Various git-p4 enhancements (in contrib). | |
10 | ||
865d370c | 11 | * Various vcs-svn, git-svn and gitk enhancements and fixes. |
83c3c622 | 12 | |
be919d50 JH |
13 | * Various git-gui updates (0.14.0). |
14 | ||
a62eafb0 JH |
15 | * Update to more modern HP-UX port. |
16 | ||
cb35c064 JH |
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. | |
08c8d558 | 20 | |
5e839c8f JH |
21 | * The bash completion script can now complete symmetric difference |
22 | for "git diff" command, e.g. "git diff ...bra<TAB>". | |
23 | ||
be919d50 JH |
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 | ||
a62eafb0 JH |
28 | * "git apply -v" reports offset lines when the patch does not apply at |
29 | the exact location recorded in the diff output. | |
30 | ||
afb0b793 JH |
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 | ||
a3ca9b0f | 37 | * "git checkout" performed on detached HEAD gives a warning and |
a62eafb0 JH |
38 | advice when the commit being left behind will become unreachable from |
39 | any branch or tag. | |
40 | ||
a3ca9b0f | 41 | * "git cherry-pick" and "git revert" can be told to use a custom merge |
afb0b793 JH |
42 | strategy, similar to "git rebase". |
43 | ||
83c3c622 JH |
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 | ||
a62eafb0 JH |
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 | ||
5e839c8f JH |
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 | ||
6be05591 JH |
57 | * "git fetch" can be told to recursively fetch submodules on-demand. |
58 | ||
08c8d558 JH |
59 | * "git grep -f <filename>" learned to treat "-" as "read from the |
60 | standard input stream". | |
61 | ||
83c3c622 JH |
62 | * "git grep --no-index" did not honor pathspecs correctly, returning |
63 | paths outside the specified area. | |
64 | ||
cb35c064 JH |
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 | ||
a3ca9b0f | 71 | * "git log" type commands now understand globbing pathspecs. You |
a62eafb0 JH |
72 | can say "git log -- '*.txt'" for example. |
73 | ||
5e839c8f JH |
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 | ||
cb35c064 JH |
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 | ||
08c8d558 JH |
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 | ||
a3ca9b0f | 89 | * "git rev-list --objects $revs -- $pathspec" now limits the objects listed |
afb0b793 JH |
90 | in its output properly with the pathspec, in preparation for narrow |
91 | clones. | |
92 | ||
a62eafb0 JH |
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. | |
afb0b793 | 96 | |
6be05591 JH |
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 | ||
a3ca9b0f MG |
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 | |
afb0b793 JH |
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 | ||
afb0b793 JH |
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 | ||
5e839c8f JH |
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 | ||
6be05591 JH |
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. |