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