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.
219 lines
8.8 KiB
219 lines
8.8 KiB
Git v1.7.10 Release Notes |
|
========================= |
|
|
|
Compatibility Notes |
|
------------------- |
|
|
|
* From this release on, the "git merge" command in an interactive |
|
session will start an editor when it automatically resolves the |
|
merge for the user to explain the resulting commit, just like the |
|
"git commit" command does when it wasn't given a commit message. |
|
|
|
If you have a script that runs "git merge" and keeps its standard |
|
input and output attached to the user's terminal, and if you do not |
|
want the user to explain the resulting merge commits, you can |
|
export GIT_MERGE_AUTOEDIT environment variable set to "no", like |
|
this: |
|
|
|
#!/bin/sh |
|
GIT_MERGE_AUTOEDIT=no |
|
export GIT_MERGE_AUTOEDIT |
|
|
|
to disable this behavior (if you want your users to explain their |
|
merge commits, you do not have to do anything). Alternatively, you |
|
can give the "--no-edit" option to individual invocations of the |
|
"git merge" command if you know everybody who uses your script has |
|
Git v1.7.8 or newer. |
|
|
|
* The "--binary/-b" options to "git am" have been a no-op for quite a |
|
while and were deprecated in mid 2008 (v1.6.0). When you give these |
|
options to "git am", it will now warn and ask you not to use them. |
|
|
|
* When you do not tell which branches and tags to push to the "git |
|
push" command in any way, the command used "matching refs" rule to |
|
update remote branches and tags with branches and tags with the |
|
same name you locally have. In future versions of Git, this will |
|
change to push out only your current branch according to either the |
|
"upstream" or the "current" rule. Although "upstream" may be more |
|
powerful once the user understands Git better, the semantics |
|
"current" gives is simpler and easier to understand for beginners |
|
and may be a safer and better default option. We haven't decided |
|
yet which one to switch to. |
|
|
|
|
|
Updates since v1.7.9 |
|
-------------------- |
|
|
|
UI, Workflows & Features |
|
|
|
* various "gitk" updates. |
|
- show the path to the top level directory in the window title |
|
- update preference edit dialog |
|
- display file list correctly when directories are given on command line |
|
- make "git-describe" output in the log message into a clickable link |
|
- avoid matching the UNIX timestamp part when searching all fields |
|
- give preference to symbolic font names like sans & monospace |
|
- allow comparing two commits using a mark |
|
- "gitk" honors log.showroot configuration. |
|
|
|
* Teams for localizing the messages from the Porcelain layer of |
|
commands are starting to form, thanks to Jiang Xin who volunteered |
|
to be the localization coordinator. Translated messages for |
|
simplified Chinese, Swedish and Portuguese are available. |
|
|
|
* The configuration mechanism learned an "include" facility; an |
|
assignment to the include.path pseudo-variable causes the named |
|
file to be included in-place when Git looks up configuration |
|
variables. |
|
|
|
* A content filter (clean/smudge) used to be just a way to make the |
|
recorded contents "more useful", and allowed to fail; a filter can |
|
now optionally be marked as "required". |
|
|
|
* Options whose names begin with "--no-" (e.g. the "--no-verify" |
|
option of the "git commit" command) can be negated by omitting |
|
"no-" from its name, e.g. "git commit --verify". |
|
|
|
* "git am" learned to pass "-b" option to underlying "git mailinfo", so |
|
that a bracketed string other than "PATCH" at the beginning can be kept. |
|
|
|
* "git clone" learned "--single-branch" option to limit cloning to a |
|
single branch (surprise!); tags that do not point into the history |
|
of the branch are not fetched. |
|
|
|
* "git clone" learned to detach the HEAD in the resulting repository |
|
when the user specifies a tag with "--branch" (e.g., "--branch=v1.0"). |
|
Clone also learned to print the usual "detached HEAD" advice in such |
|
a case, similar to "git checkout v1.0". |
|
|
|
* When showing a patch while ignoring whitespace changes, the context |
|
lines are taken from the postimage, in order to make it easier to |
|
view the output. |
|
|
|
* "git diff --stat" learned to adjust the width of the output on |
|
wider terminals, and give more columns to pathnames as needed. |
|
|
|
* "diff-highlight" filter (in contrib/) was updated to produce more |
|
aesthetically pleasing output. |
|
|
|
* "fsck" learned "--no-dangling" option to omit dangling object |
|
information. |
|
|
|
* "git log -G" and "git log -S" learned to pay attention to the "-i" |
|
option. With "-i", "log -G" ignores the case when finding patch |
|
hunks that introduce or remove a string that matches the given |
|
pattern. Similarly with "-i", "log -S" ignores the case when |
|
finding the commit the given block of text appears or disappears |
|
from the file. |
|
|
|
* "git merge" in an interactive session learned to spawn the editor |
|
by default to let the user edit the auto-generated merge message, |
|
to encourage people to explain their merges better. Legacy scripts |
|
can export GIT_MERGE_AUTOEDIT=no to retain the historical behavior. |
|
Both "git merge" and "git pull" can be given --no-edit from the |
|
command line to accept the auto-generated merge message. |
|
|
|
* The advice message given when the user didn't give enough clue on |
|
what to merge to "git pull" and "git merge" has been updated to |
|
be more concise and easier to understand. |
|
|
|
* "git push" learned the "--prune" option, similar to "git fetch". |
|
|
|
* The whole directory that houses a top-level superproject managed by |
|
"git submodule" can be moved to another place. |
|
|
|
* "git symbolic-ref" learned the "--short" option to abbreviate the |
|
refname it shows unambiguously. |
|
|
|
* "git tag --list" can be given "--points-at <object>" to limit its |
|
output to those that point at the given object. |
|
|
|
* "gitweb" allows intermediate entries in the directory hierarchy |
|
that leads to a project to be clicked, which in turn shows the |
|
list of projects inside that directory. |
|
|
|
* "gitweb" learned to read various pieces of information for the |
|
repositories lazily, instead of reading everything that could be |
|
needed (including the ones that are not necessary for a specific |
|
task). |
|
|
|
* Project search in "gitweb" shows the substring that matched in the |
|
project name and description highlighted. |
|
|
|
* HTTP transport learned to authenticate with a proxy if needed. |
|
|
|
* A new script "diffall" is added to contrib/; it drives an |
|
external tool to perform a directory diff of two Git revisions |
|
in one go, unlike "difftool" that compares one file at a time. |
|
|
|
Foreign Interface |
|
|
|
* Improved handling of views, labels and branches in "git-p4" (in contrib). |
|
|
|
* "git-p4" (in contrib) suffered from unnecessary merge conflicts when |
|
p4 expanded the embedded $RCS$-like keywords; it can be now told to |
|
unexpand them. |
|
|
|
* Some "git-svn" updates. |
|
|
|
* "vcs-svn"/"svn-fe" learned to read dumps with svn-deltas and |
|
support incremental imports. |
|
|
|
* "git difftool/mergetool" learned to drive DeltaWalker. |
|
|
|
Performance |
|
|
|
* Unnecessary calls to parse_object() "git upload-pack" makes in |
|
response to "git fetch", have been eliminated, to help performance |
|
in repositories with excessive number of refs. |
|
|
|
Internal Implementation (please report possible regressions) |
|
|
|
* Recursive call chains in "git index-pack" to deal with long delta |
|
chains have been flattened, to reduce the stack footprint. |
|
|
|
* Use of add_extra_ref() API is now gone, to make it possible to |
|
cleanly restructure the overall refs API. |
|
|
|
* The command line parser of "git pack-objects" now uses parse-options |
|
API. |
|
|
|
* The test suite supports the new "test_pause" helper function. |
|
|
|
* Parallel to the test suite, there is a beginning of performance |
|
benchmarking framework. |
|
|
|
* t/Makefile is adjusted to prevent newer versions of GNU make from |
|
running tests in seemingly random order. |
|
|
|
* The code to check if a path points at a file beyond a symbolic link |
|
has been restructured to be thread-safe. |
|
|
|
* When pruning directories that has become empty during "git prune" |
|
and "git prune-packed", call closedir() that iterates over a |
|
directory before rmdir() it. |
|
|
|
Also contains minor documentation updates and code clean-ups. |
|
|
|
|
|
Fixes since v1.7.9 |
|
------------------ |
|
|
|
Unless otherwise noted, all the fixes since v1.7.9 in the maintenance |
|
releases are contained in this release (see release notes to them for |
|
details). |
|
|
|
* Build with NO_PERL_MAKEMAKER was broken and Git::I18N did not work |
|
with versions of Perl older than 5.8.3. |
|
(merge 5eb660e ab/perl-i18n later to maint). |
|
|
|
* "git tag -s" honored "gpg.program" configuration variable since |
|
1.7.9, but "git tag -v" and "git verify-tag" didn't. |
|
(merge a2c2506 az/verify-tag-use-gpg-config later to maint). |
|
|
|
* "configure" script learned to take "--with-sane-tool-path" from the |
|
command line to record SANE_TOOL_PATH (used to avoid broken platform |
|
tools in /usr/bin) in config.mak.autogen. This may be useful for |
|
people on Solaris who have saner tools outside /usr/xpg[46]/bin. |
|
|
|
* zsh port of bash completion script needed another workaround.
|
|
|