2012-01-29 22:46:18 +01:00
|
|
|
Git v1.7.10 Release Notes
|
|
|
|
=========================
|
|
|
|
|
2012-03-07 21:51:55 +01:00
|
|
|
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 behaviour (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.
|
|
|
|
|
2012-03-12 23:59:06 +01:00
|
|
|
* The "--binary/-b" options to "git am" have been a no-op for quite a
|
2012-03-13 19:38:27 +01:00
|
|
|
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.
|
2012-03-12 23:59:06 +01:00
|
|
|
|
2012-03-23 22:50:23 +01:00
|
|
|
* 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 use the
|
|
|
|
"upstream" rule to update the branch at the remote you would "pull"
|
|
|
|
from into your current branch with your local current branch. The
|
|
|
|
release after 1.7.10 will start issuing a warning about this change,
|
|
|
|
to encourage you to tell the command what to push out, e.g. by setting
|
|
|
|
push.default configuration.
|
|
|
|
|
2012-03-07 21:51:55 +01:00
|
|
|
|
2012-01-29 22:46:18 +01:00
|
|
|
Updates since v1.7.9
|
|
|
|
--------------------
|
|
|
|
|
|
|
|
UI, Workflows & Features
|
|
|
|
|
2012-03-02 05:59:31 +01:00
|
|
|
* 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. An initial set of translated
|
|
|
|
messages for simplified chinese is available.
|
|
|
|
|
2012-02-23 22:38:50 +01:00
|
|
|
* 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.
|
|
|
|
|
2012-02-28 22:31:05 +01:00
|
|
|
* 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
|
2012-03-08 22:08:26 +01:00
|
|
|
now optionally be marked as "required".
|
2012-02-28 22:31:05 +01:00
|
|
|
|
2012-03-02 06:08:07 +01:00
|
|
|
* 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".
|
|
|
|
|
2012-01-29 22:46:18 +01:00
|
|
|
* "git am" learned to pass "-b" option to underlying "git mailinfo", so
|
2012-03-08 22:08:26 +01:00
|
|
|
that a bracketed string other than "PATCH" at the beginning can be kept.
|
2012-01-29 22:46:18 +01:00
|
|
|
|
|
|
|
* "git clone" learned "--single-branch" option to limit cloning to a
|
2012-03-08 22:08:26 +01:00
|
|
|
single branch (surprise!); tags that do not point into the history
|
|
|
|
of the branch are not fetched.
|
2012-01-29 22:46:18 +01:00
|
|
|
|
2012-02-01 07:31:35 +01:00
|
|
|
* "git clone" learned to detach the HEAD in the resulting repository
|
2012-03-08 22:08:26 +01:00
|
|
|
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".
|
2012-02-01 07:31:35 +01:00
|
|
|
|
2012-01-29 22:46:18 +01:00
|
|
|
* 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.
|
|
|
|
|
2012-03-07 21:51:55 +01:00
|
|
|
* "git diff --stat" learned to adjust the width of the output on
|
|
|
|
wider terminals, and give more columns to pathnames as needed.
|
|
|
|
|
2012-02-22 00:29:29 +01:00
|
|
|
* "diff-highlight" filter (in contrib/) was updated to produce more
|
|
|
|
aesthetically pleasing output.
|
2012-02-20 09:29:40 +01:00
|
|
|
|
2012-03-02 06:08:07 +01:00
|
|
|
* "fsck" learned "--no-dangling" option to omit dangling object
|
|
|
|
information.
|
|
|
|
|
2012-03-08 22:08:26 +01:00
|
|
|
* "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.
|
2012-03-07 21:51:55 +01:00
|
|
|
|
2012-02-01 07:31:35 +01:00
|
|
|
* "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
|
2012-02-27 08:11:10 +01:00
|
|
|
can export GIT_MERGE_AUTOEDIT=no to retain the historical behavior.
|
2012-02-20 09:29:40 +01:00
|
|
|
Both "git merge" and "git pull" can be given --no-edit from the
|
|
|
|
command line to accept the auto-generated merge message.
|
2012-02-01 07:31:35 +01:00
|
|
|
|
2012-03-08 22:08:26 +01:00
|
|
|
* The advice message given when the user didn't give enough clue on
|
2012-03-07 21:51:55 +01:00
|
|
|
what to merge to "git pull" and "git merge" has been updated to
|
|
|
|
be more concise and easier to understand.
|
|
|
|
|
2012-02-27 08:11:10 +01:00
|
|
|
* "git push" learned the "--prune" option, similar to "git fetch".
|
|
|
|
|
2012-03-08 22:08:26 +01:00
|
|
|
* The whole directory that houses a top-level superproject managed by
|
|
|
|
"git submodule" can be moved to another place.
|
|
|
|
|
2012-03-05 08:38:02 +01:00
|
|
|
* "git symbolic-ref" learned the "--short" option to abbreviate the
|
|
|
|
refname it shows unambiguously.
|
|
|
|
|
2012-02-27 08:11:10 +01:00
|
|
|
* "git tag --list" can be given "--points-at <object>" to limit its
|
|
|
|
output to those that point at the given object.
|
|
|
|
|
2012-02-07 22:01:56 +01:00
|
|
|
* "gitweb" allows intermediate entries in the directory hierarchy
|
2012-03-08 22:08:26 +01:00
|
|
|
that leads to a project to be clicked, which in turn shows the
|
2012-02-07 22:01:56 +01:00
|
|
|
list of projects inside that directory.
|
|
|
|
|
2012-02-27 08:11:10 +01:00
|
|
|
* "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).
|
|
|
|
|
2012-03-05 08:38:02 +01:00
|
|
|
* Project search in "gitweb" shows the substring that matched in the
|
|
|
|
project name and description highlighted.
|
|
|
|
|
2012-03-14 23:38:47 +01:00
|
|
|
* A new script "diffall" is added to contrib/; it drives an
|
|
|
|
external tool to perform a directory diff of two Git revisions
|
2012-03-12 23:59:06 +01:00
|
|
|
in one go, unlike "difftool" that compares one file at a time.
|
|
|
|
|
2012-03-02 06:08:07 +01:00
|
|
|
Foreign Interface
|
|
|
|
|
2012-03-07 21:51:55 +01:00
|
|
|
* Improved handling of views, labels and branches in "git-p4" (in contrib).
|
2012-03-02 06:08:07 +01:00
|
|
|
|
|
|
|
* "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.
|
|
|
|
|
2012-03-07 21:51:55 +01:00
|
|
|
* "git difftool/mergetool" learned to drive DeltaWalker.
|
|
|
|
|
2012-01-29 22:46:18 +01:00
|
|
|
Performance
|
|
|
|
|
2012-03-07 21:51:55 +01:00
|
|
|
* 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.
|
2012-01-29 22:46:18 +01:00
|
|
|
|
2012-02-20 09:29:40 +01:00
|
|
|
Internal Implementation (please report possible regressions)
|
2012-01-29 22:46:18 +01:00
|
|
|
|
|
|
|
* Recursive call chains in "git index-pack" to deal with long delta
|
|
|
|
chains have been flattened, to reduce the stack footprint.
|
|
|
|
|
2012-02-20 09:29:40 +01:00
|
|
|
* 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.
|
2012-01-29 22:46:18 +01:00
|
|
|
|
|
|
|
* The test suite supports the new "test_pause" helper function.
|
|
|
|
|
2012-02-23 22:38:50 +01:00
|
|
|
* Parallel to the test suite, there is a beginning of performance
|
|
|
|
benchmarking framework.
|
|
|
|
|
2012-02-01 07:31:35 +01:00
|
|
|
* t/Makefile is adjusted to prevent newer versions of GNU make from
|
|
|
|
running tests in seemingly random order.
|
|
|
|
|
2012-03-07 21:51:55 +01:00
|
|
|
* The code to check if a path points at a file beyond a symbolic link
|
|
|
|
has been restructured to be thread-safe.
|
|
|
|
|
2012-03-08 22:08:26 +01:00
|
|
|
* When pruning directories that has become empty during "git prune"
|
|
|
|
and "git prune-packed", call closedir() that iterates over a
|
|
|
|
directory before rmdir() it.
|
|
|
|
|
2012-01-29 22:46:18 +01:00
|
|
|
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).
|
|
|
|
|
2012-03-23 22:50:23 +01:00
|
|
|
* 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).
|
|
|
|
|
2012-03-16 16:42:22 +01:00
|
|
|
* "git fast-import" accepted "ls" command with an empty path by
|
|
|
|
mistake.
|
|
|
|
(merge 178e1de jn/maint-fast-import-empty-ls later to maint).
|
|
|
|
|
2012-03-14 23:38:47 +01:00
|
|
|
* The "remaining" subcommand to "git rerere" was not documented.
|
|
|
|
(merge 3e7a1df ph/rerere-doc later to maint).
|
|
|
|
|
2012-03-12 23:59:06 +01:00
|
|
|
* "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).
|
2012-02-27 08:11:10 +01:00
|
|
|
|
2012-03-14 23:38:47 +01:00
|
|
|
* When "git config" diagnoses an error in a configuration file and
|
|
|
|
shows the line number for the offending line, it miscounted if the
|
|
|
|
error was at the end of line.
|
|
|
|
(merge 4b34059 ms/maint-config-error-at-eol-linecount later to maint).
|
|
|
|
|
2012-03-16 16:42:22 +01:00
|
|
|
* "configure" script learned to take "--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.
|
|
|
|
|
2012-03-23 22:50:23 +01:00
|
|
|
* zsh port of bash completion script needed another workaround.
|
|
|
|
|
2012-02-22 00:29:29 +01:00
|
|
|
* "gitweb" used to drop warnings in the log file when "heads" view is
|
|
|
|
accessed in a repository whose HEAD does not point at a valid
|
|
|
|
branch.
|
2012-02-10 23:15:38 +01:00
|
|
|
|
2012-01-29 22:46:18 +01:00
|
|
|
---
|
|
|
|
exec >/var/tmp/1
|
2012-03-23 22:50:23 +01:00
|
|
|
O=v1.7.10-rc1-32-geb2c67c
|
2012-01-29 22:46:18 +01:00
|
|
|
echo O=$(git describe)
|
|
|
|
git log --first-parent --oneline ^maint $O..
|
|
|
|
echo
|
|
|
|
git shortlog --no-merges ^maint $O..
|