]>
Commit | Line | Data |
---|---|---|
cf5c51ef JH |
1 | GIT v1.5.5 Release Notes |
2 | ======================== | |
3 | ||
4 | Updates since v1.5.4 | |
5 | -------------------- | |
6 | ||
2d3539e8 JH |
7 | (subsystems) |
8 | ||
1d2375dd | 9 | * Comes with git-gui 0.10.1 |
7092882c JH |
10 | |
11 | (portability) | |
12 | ||
13 | * We shouldn't ask for BSD group ownership semantics by setting g+s bit | |
14 | on directories on older BSD systems that refuses chmod() by non root | |
15 | users. BSD semantics is the default there anyway. | |
16 | ||
17 | * Bunch of portability improvement patches coming from an effort to port | |
18 | to Solaris has been applied. | |
2d3539e8 | 19 | |
cf5c51ef JH |
20 | (performance) |
21 | ||
22 | * On platforms with suboptimal qsort(3) implementation, there | |
23 | is an option to use more reasonable substitute we ship with | |
24 | our software. | |
25 | ||
26 | * New configuration variable "pack.packsizelimit" can be used | |
27 | in place of command line option --max-pack-size. | |
28 | ||
29 | * "git fetch" over the native git protocol used to make a | |
30 | connection to find out the set of current remote refs and | |
31 | another to actually download the pack data. We now use only | |
32 | one connection for these tasks. | |
33 | ||
34 | * "git commit" does not run lstat(2) more than necessary | |
35 | anymore. | |
36 | ||
37 | (usability, bells and whistles) | |
38 | ||
7092882c JH |
39 | * Bash completion script (in contrib) are aware of more commands and |
40 | options. | |
41 | ||
cf5c51ef JH |
42 | * You can be warned when core.autocrlf conversion is applied in |
43 | such a way that results in an irreversible conversion. | |
44 | ||
97b97c58 JH |
45 | * A catch-all "color.ui" configuration variable can be used to |
46 | enable coloring of all color-capable commands, instead of | |
47 | individual ones such as "color.status" and "color.branch". | |
48 | ||
49 | * The commands refused to take absolute pathnames where they | |
50 | require pathnames relative to the work tree or the current | |
51 | subdirectory. They now can take absolute pathnames in such a | |
52 | case as long as the pathnames do not refer outside of the | |
53 | work tree. E.g. "git add $(pwd)/foo" now works. | |
54 | ||
55 | * Error messages used to be sent to stderr, only to get hidden, | |
56 | when $PAGER was in use. They now are sent to stdout along | |
57 | with the command output to be shown in the $PAGER. | |
58 | ||
cf5c51ef JH |
59 | * A pattern "foo/" in .gitignore file now matches a directory |
60 | "foo". Pattern "foo" also matches as before. | |
61 | ||
97b97c58 JH |
62 | * bash completion's prompt helper function can talk about |
63 | operation in-progress (e.g. merge, rebase, etc.). | |
64 | ||
65 | * Configuration variables "url.<usethis>.insteadof = <otherurl>" can be | |
66 | used to tell "git-fetch" and "git-push" to use different URL than what | |
67 | is given from the command line. | |
68 | ||
97b97c58 JH |
69 | * "git add -i" behaves better even before you make an initial commit. |
70 | ||
2d3539e8 JH |
71 | * "git am" refused to run from a subdirectory without a good reason. |
72 | ||
97b97c58 JH |
73 | * After "git apply --whitespace=fix" fixes whitespace errors in a patch, |
74 | a line before the fix can appear as a context or preimage line in a | |
75 | later patch, causing the patch not to apply. The command now knows to | |
76 | see through whitespace fixes done to context lines to successfully | |
77 | apply such a patch series. | |
78 | ||
79 | * "git branch" (and "git checkout -b") to branch from a local branch can | |
80 | optionally set "branch.<name>.merge" to mark the new branch to build on | |
81 | the other local branch, when "branch.autosetupmerge" is set to | |
313da4f7 JS |
82 | "always", or when passing the command line option "--track" (this option |
83 | was ignored when branching from local branches). By default, this does | |
84 | not happen when branching from a local branch. | |
97b97c58 JH |
85 | |
86 | * "git checkout" to switch to a branch that has "branch.<name>.merge" set | |
87 | (i.e. marked to build on another branch) reports how much the branch | |
88 | and the other branch diverged. | |
89 | ||
90 | * When "git checkout" has to update a lot of paths, it used to be silent | |
91 | for 4 seconds before it showed any progress report. It is now a bit | |
92 | more impatient and starts showing progress report early. | |
93 | ||
94 | * "git commit" learned a new hook "prepare-commit-msg" that can | |
95 | inspect what is going to be committed and prepare the commit | |
96 | log message template to be edited. | |
97 | ||
2d3539e8 JH |
98 | * "git cvsimport" can now take more than one -M options. |
99 | ||
cf5c51ef JH |
100 | * "git describe" learned to limit the tags to be used for |
101 | naming with --match option. | |
102 | ||
103 | * "git describe --contains" now barfs when the named commit | |
104 | cannot be described. | |
105 | ||
97b97c58 | 106 | * "git describe --exact-match" describes only commits that are tagged. |
cf5c51ef | 107 | |
2d3539e8 JH |
108 | * "git describe --long" describes a tagged commit as $tag-0-$sha1, |
109 | instead of just showing the exact tagname. | |
110 | ||
111 | * "git describe" warns when using a tag whose name and path contradict | |
112 | with each other. | |
113 | ||
97b97c58 JH |
114 | * "git diff" learned "--relative" option to limit and output paths |
115 | relative to the current directory when working in a subdirectory. | |
116 | ||
117 | * "git diff" learned "--dirstat" option to show birds-eye-summary of | |
118 | changes more concisely than "--diffstat". | |
119 | ||
120 | * "git format-patch" learned --cover-letter option to generate a cover | |
121 | letter template. | |
122 | ||
2d3539e8 JH |
123 | * "git gc" learned --quiet option. |
124 | ||
7092882c JH |
125 | * "git gc" now automatically prunes unreachable objects that are two |
126 | weeks old or older. | |
127 | ||
bc610008 JH |
128 | * "git gc --auto" can be disabled more easily by just setting gc.auto |
129 | to zero. It also tolerates more packfiles by default. | |
130 | ||
97b97c58 JH |
131 | * "git grep" now knows "--name-only" is a synonym for the "-l" option. |
132 | ||
133 | * "git help <alias>" now reports "'git <alias>' is alias to <what>", | |
134 | instead of saying "No manual entry for git-<alias>". | |
135 | ||
7092882c JH |
136 | * "git help" can use different backends to show manual pages and this can |
137 | be configured using "man.viewer" configuration. | |
138 | ||
139 | * "gitk" does not restore window position from $HOME/.gitk anymore (it | |
140 | still restores the size). | |
141 | ||
97b97c58 JH |
142 | * "git log --grep=<what>" learned "--fixed-strings" option to look for |
143 | <what> without treating it as a regular expression. | |
cf5c51ef JH |
144 | |
145 | * "git gui" learned an auto-spell checking. | |
146 | ||
7092882c JH |
147 | * "git push <somewhere> HEAD" and "git push <somewhere> +HEAD" works as |
148 | expected; they push the current branch (and only the current branch). | |
149 | In addition, HEAD can be written as the value of "remote.<there>.push" | |
150 | configuration variable. | |
151 | ||
152 | * When the configuration variable "pack.threads" is set to 0, "git | |
153 | repack" auto detects the number of CPUs and uses that many threads. | |
154 | ||
cf5c51ef JH |
155 | * "git send-email" learned to prompt for passwords |
156 | interactively. | |
157 | ||
158 | * "git send-email" learned an easier way to suppress CC | |
159 | recipients. | |
160 | ||
7092882c JH |
161 | * "git stash" learned "pop" command, that applies the latest stash and |
162 | removes it from the stash, and "drop" command to discard the named | |
163 | stash entry. | |
164 | ||
165 | * "git submodule" learned a new subcommand "summary" to show the | |
166 | symmetric difference between the HEAD version and the work tree version | |
167 | of the submodule commits. | |
97b97c58 | 168 | |
6c41b801 JH |
169 | * Various "git cvsimport", "git cvsexportcommit", "git cvsserver", |
170 | "git svn" and "git p4" improvements. | |
cf5c51ef JH |
171 | |
172 | (internal) | |
173 | ||
174 | * Duplicated code between git-help and git-instaweb that | |
175 | launches user's preferred browser has been refactored. | |
176 | ||
177 | * It is now easier to write test scripts that records known | |
178 | breakages. | |
179 | ||
97b97c58 JH |
180 | * "git checkout" is rewritten in C. |
181 | ||
7092882c JH |
182 | * "git remote" is rewritten in C. |
183 | ||
97b97c58 JH |
184 | * Two conflict hunks that are separated by a very short span of common |
185 | lines are now coalesced into one larger hunk, to make the result easier | |
186 | to read. | |
187 | ||
188 | * Run-command API's use of file descriptors is documented clearer and | |
189 | is more consistent now. | |
190 | ||
7092882c JH |
191 | * diff output can be sent to FILE * that is different from stdout. This |
192 | will help reimplementing more things in C. | |
cf5c51ef JH |
193 | |
194 | Fixes since v1.5.4 | |
195 | ------------------ | |
196 | ||
197 | All of the fixes in v1.5.4 maintenance series are included in | |
198 | this release, unless otherwise noted. | |
199 | ||
2d3539e8 JH |
200 | * "git-http-push" did not allow deletion of remote ref with the usual |
201 | "push <remote> :<branch>" syntax. | |
202 | ||
2d3539e8 JH |
203 | * "git-rebase --abort" did not go back to the right location if |
204 | "git-reset" was run during the "git-rebase" session. | |
205 | ||
1768905b JH |
206 | * "git imap-send" without setting imap.host did not error out but |
207 | segfaulted. |