1 GIT v1.5.5 Release Notes
2 ========================
4 Updates since v1.5.4
5 --------------------
7 (subsystems)
9 * Comes with git-gui 0.9.3
11 (performance)
13 * On platforms with suboptimal qsort(3) implementation, there
14 is an option to use more reasonable substitute we ship with
15 our software.
17 * New configuration variable "pack.packsizelimit" can be used
18 in place of command line option --max-pack-size.
20 * "git fetch" over the native git protocol used to make a
21 connection to find out the set of current remote refs and
22 another to actually download the pack data. We now use only
23 one connection for these tasks.
25 * "git commit" does not run lstat(2) more than necessary
26 anymore.
28 (usability, bells and whistles)
30 * You can be warned when core.autocrlf conversion is applied in
31 such a way that results in an irreversible conversion.
33 * A catch-all "color.ui" configuration variable can be used to
34 enable coloring of all color-capable commands, instead of
35 individual ones such as "color.status" and "color.branch".
37 * The commands refused to take absolute pathnames where they
38 require pathnames relative to the work tree or the current
39 subdirectory. They now can take absolute pathnames in such a
40 case as long as the pathnames do not refer outside of the
41 work tree. E.g. "git add $(pwd)/foo" now works.
43 * Error messages used to be sent to stderr, only to get hidden,
44 when $PAGER was in use. They now are sent to stdout along
45 with the command output to be shown in the $PAGER.
47 * A pattern "foo/" in .gitignore file now matches a directory
48 "foo". Pattern "foo" also matches as before.
50 * bash completion's prompt helper function can talk about
51 operation in-progress (e.g. merge, rebase, etc.).
53 * Configuration variables "url.<usethis>.insteadof = <otherurl>" can be
54 used to tell "git-fetch" and "git-push" to use different URL than what
55 is given from the command line.
57 * "git push <somewhere> HEAD" and "git push <somewhere> +HEAD" works as
58 expected; they push the current branch (and only the current branch).
59 In addition, HEAD can be written as the value of "remote.<there>.push"
60 configuration variable.
62 * "git add -i" behaves better even before you make an initial commit.
64 * "git am" refused to run from a subdirectory without a good reason.
66 * After "git apply --whitespace=fix" fixes whitespace errors in a patch,
67 a line before the fix can appear as a context or preimage line in a
68 later patch, causing the patch not to apply. The command now knows to
69 see through whitespace fixes done to context lines to successfully
70 apply such a patch series.
72 * "git branch" (and "git checkout -b") to branch from a local branch can
73 optionally set "branch.<name>.merge" to mark the new branch to build on
74 the other local branch, when "branch.autosetupmerge" is set to
75 "always". By default, this does not happen when branching from a local
76 branch.
78 * "git checkout" to switch to a branch that has "branch.<name>.merge" set
79 (i.e. marked to build on another branch) reports how much the branch
80 and the other branch diverged.
82 * When "git checkout" has to update a lot of paths, it used to be silent
83 for 4 seconds before it showed any progress report. It is now a bit
84 more impatient and starts showing progress report early.
86 * "git commit" learned a new hook "prepare-commit-msg" that can
87 inspect what is going to be committed and prepare the commit
88 log message template to be edited.
90 * "git cvsimport" can now take more than one -M options.
92 * "git describe" learned to limit the tags to be used for
93 naming with --match option.
95 * "git describe --contains" now barfs when the named commit
96 cannot be described.
98 * "git describe --exact-match" describes only commits that are tagged.
100 * "git describe --long" describes a tagged commit as $tag-0-$sha1,
101 instead of just showing the exact tagname.
103 * "git describe" warns when using a tag whose name and path contradict
104 with each other.
106 * "git diff" learned "--relative" option to limit and output paths
107 relative to the current directory when working in a subdirectory.
109 * "git diff" learned "--dirstat" option to show birds-eye-summary of
110 changes more concisely than "--diffstat".
112 * "git format-patch" learned --cover-letter option to generate a cover
113 letter template.
115 * "git gc" learned --quiet option.
117 * "git grep" now knows "--name-only" is a synonym for the "-l" option.
119 * "git help <alias>" now reports "'git <alias>' is alias to <what>",
120 instead of saying "No manual entry for git-<alias>".
122 * "git log --grep=<what>" learned "--fixed-strings" option to look for
123 <what> without treating it as a regular expression.
125 * "git gui" learned an auto-spell checking.
127 * "git send-email" learned to prompt for passwords
128 interactively.
130 * "git send-email" learned an easier way to suppress CC
131 recipients.
133 * When the configuration variable "pack.threads" is set to 0, "git
134 repack" auto detects the number of CPUs and uses that many threads.
136 * Various "git cvsimport", "git cvsexportcommit", "git svn" and
137 "git p4" improvements.
139 (internal)
141 * Duplicated code between git-help and git-instaweb that
142 launches user's preferred browser has been refactored.
144 * It is now easier to write test scripts that records known
145 breakages.
147 * "git checkout" is rewritten in C.
149 * Two conflict hunks that are separated by a very short span of common
150 lines are now coalesced into one larger hunk, to make the result easier
151 to read.
153 * Run-command API's use of file descriptors is documented clearer and
154 is more consistent now.
157 Fixes since v1.5.4
158 ------------------
160 All of the fixes in v1.5.4 maintenance series are included in
161 this release, unless otherwise noted.
163 * "git-http-push" did not allow deletion of remote ref with the usual
164 "push <remote> :<branch>" syntax.
166 * "git-rebase --abort" did not go back to the right location if
167 "git-reset" was run during the "git-rebase" session.
169 ---
170 exec >/var/tmp/1
171 O=v1.5.4.3-428-g6b48990
172 echo O=`git describe refs/heads/master`
173 git shortlog --no-merges $O..refs/heads/master ^refs/heads/maint