You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
207 lines
7.4 KiB
207 lines
7.4 KiB
GIT v1.5.5 Release Notes |
|
======================== |
|
|
|
Updates since v1.5.4 |
|
-------------------- |
|
|
|
(subsystems) |
|
|
|
* Comes with git-gui 0.10.1 |
|
|
|
(portability) |
|
|
|
* We shouldn't ask for BSD group ownership semantics by setting g+s bit |
|
on directories on older BSD systems that refuses chmod() by non root |
|
users. BSD semantics is the default there anyway. |
|
|
|
* Bunch of portability improvement patches coming from an effort to port |
|
to Solaris has been applied. |
|
|
|
(performance) |
|
|
|
* On platforms with suboptimal qsort(3) implementation, there |
|
is an option to use more reasonable substitute we ship with |
|
our software. |
|
|
|
* New configuration variable "pack.packsizelimit" can be used |
|
in place of command line option --max-pack-size. |
|
|
|
* "git fetch" over the native git protocol used to make a |
|
connection to find out the set of current remote refs and |
|
another to actually download the pack data. We now use only |
|
one connection for these tasks. |
|
|
|
* "git commit" does not run lstat(2) more than necessary |
|
anymore. |
|
|
|
(usability, bells and whistles) |
|
|
|
* Bash completion script (in contrib) are aware of more commands and |
|
options. |
|
|
|
* You can be warned when core.autocrlf conversion is applied in |
|
such a way that results in an irreversible conversion. |
|
|
|
* A catch-all "color.ui" configuration variable can be used to |
|
enable coloring of all color-capable commands, instead of |
|
individual ones such as "color.status" and "color.branch". |
|
|
|
* The commands refused to take absolute pathnames where they |
|
require pathnames relative to the work tree or the current |
|
subdirectory. They now can take absolute pathnames in such a |
|
case as long as the pathnames do not refer outside of the |
|
work tree. E.g. "git add $(pwd)/foo" now works. |
|
|
|
* Error messages used to be sent to stderr, only to get hidden, |
|
when $PAGER was in use. They now are sent to stdout along |
|
with the command output to be shown in the $PAGER. |
|
|
|
* A pattern "foo/" in .gitignore file now matches a directory |
|
"foo". Pattern "foo" also matches as before. |
|
|
|
* bash completion's prompt helper function can talk about |
|
operation in-progress (e.g. merge, rebase, etc.). |
|
|
|
* Configuration variables "url.<usethis>.insteadof = <otherurl>" can be |
|
used to tell "git-fetch" and "git-push" to use different URL than what |
|
is given from the command line. |
|
|
|
* "git add -i" behaves better even before you make an initial commit. |
|
|
|
* "git am" refused to run from a subdirectory without a good reason. |
|
|
|
* After "git apply --whitespace=fix" fixes whitespace errors in a patch, |
|
a line before the fix can appear as a context or preimage line in a |
|
later patch, causing the patch not to apply. The command now knows to |
|
see through whitespace fixes done to context lines to successfully |
|
apply such a patch series. |
|
|
|
* "git branch" (and "git checkout -b") to branch from a local branch can |
|
optionally set "branch.<name>.merge" to mark the new branch to build on |
|
the other local branch, when "branch.autosetupmerge" is set to |
|
"always", or when passing the command line option "--track" (this option |
|
was ignored when branching from local branches). By default, this does |
|
not happen when branching from a local branch. |
|
|
|
* "git checkout" to switch to a branch that has "branch.<name>.merge" set |
|
(i.e. marked to build on another branch) reports how much the branch |
|
and the other branch diverged. |
|
|
|
* When "git checkout" has to update a lot of paths, it used to be silent |
|
for 4 seconds before it showed any progress report. It is now a bit |
|
more impatient and starts showing progress report early. |
|
|
|
* "git commit" learned a new hook "prepare-commit-msg" that can |
|
inspect what is going to be committed and prepare the commit |
|
log message template to be edited. |
|
|
|
* "git cvsimport" can now take more than one -M options. |
|
|
|
* "git describe" learned to limit the tags to be used for |
|
naming with --match option. |
|
|
|
* "git describe --contains" now barfs when the named commit |
|
cannot be described. |
|
|
|
* "git describe --exact-match" describes only commits that are tagged. |
|
|
|
* "git describe --long" describes a tagged commit as $tag-0-$sha1, |
|
instead of just showing the exact tagname. |
|
|
|
* "git describe" warns when using a tag whose name and path contradict |
|
with each other. |
|
|
|
* "git diff" learned "--relative" option to limit and output paths |
|
relative to the current directory when working in a subdirectory. |
|
|
|
* "git diff" learned "--dirstat" option to show birds-eye-summary of |
|
changes more concisely than "--diffstat". |
|
|
|
* "git format-patch" learned --cover-letter option to generate a cover |
|
letter template. |
|
|
|
* "git gc" learned --quiet option. |
|
|
|
* "git gc" now automatically prunes unreachable objects that are two |
|
weeks old or older. |
|
|
|
* "git gc --auto" can be disabled more easily by just setting gc.auto |
|
to zero. It also tolerates more packfiles by default. |
|
|
|
* "git grep" now knows "--name-only" is a synonym for the "-l" option. |
|
|
|
* "git help <alias>" now reports "'git <alias>' is alias to <what>", |
|
instead of saying "No manual entry for git-<alias>". |
|
|
|
* "git help" can use different backends to show manual pages and this can |
|
be configured using "man.viewer" configuration. |
|
|
|
* "gitk" does not restore window position from $HOME/.gitk anymore (it |
|
still restores the size). |
|
|
|
* "git log --grep=<what>" learned "--fixed-strings" option to look for |
|
<what> without treating it as a regular expression. |
|
|
|
* "git gui" learned an auto-spell checking. |
|
|
|
* "git push <somewhere> HEAD" and "git push <somewhere> +HEAD" works as |
|
expected; they push the current branch (and only the current branch). |
|
In addition, HEAD can be written as the value of "remote.<there>.push" |
|
configuration variable. |
|
|
|
* When the configuration variable "pack.threads" is set to 0, "git |
|
repack" auto detects the number of CPUs and uses that many threads. |
|
|
|
* "git send-email" learned to prompt for passwords |
|
interactively. |
|
|
|
* "git send-email" learned an easier way to suppress CC |
|
recipients. |
|
|
|
* "git stash" learned "pop" command, that applies the latest stash and |
|
removes it from the stash, and "drop" command to discard the named |
|
stash entry. |
|
|
|
* "git submodule" learned a new subcommand "summary" to show the |
|
symmetric difference between the HEAD version and the work tree version |
|
of the submodule commits. |
|
|
|
* Various "git cvsimport", "git cvsexportcommit", "git cvsserver", |
|
"git svn" and "git p4" improvements. |
|
|
|
(internal) |
|
|
|
* Duplicated code between git-help and git-instaweb that |
|
launches user's preferred browser has been refactored. |
|
|
|
* It is now easier to write test scripts that records known |
|
breakages. |
|
|
|
* "git checkout" is rewritten in C. |
|
|
|
* "git remote" is rewritten in C. |
|
|
|
* Two conflict hunks that are separated by a very short span of common |
|
lines are now coalesced into one larger hunk, to make the result easier |
|
to read. |
|
|
|
* Run-command API's use of file descriptors is documented clearer and |
|
is more consistent now. |
|
|
|
* diff output can be sent to FILE * that is different from stdout. This |
|
will help reimplementing more things in C. |
|
|
|
Fixes since v1.5.4 |
|
------------------ |
|
|
|
All of the fixes in v1.5.4 maintenance series are included in |
|
this release, unless otherwise noted. |
|
|
|
* "git-http-push" did not allow deletion of remote ref with the usual |
|
"push <remote> :<branch>" syntax. |
|
|
|
* "git-rebase --abort" did not go back to the right location if |
|
"git-reset" was run during the "git-rebase" session. |
|
|
|
* "git imap-send" without setting imap.host did not error out but |
|
segfaulted.
|
|
|