219 lines
		
	
	
	
		
			8.8 KiB
		
	
	
	
		
			Text
		
	
	
	
	
	
			
		
		
	
	
			219 lines
		
	
	
	
		
			8.8 KiB
		
	
	
	
		
			Text
		
	
	
	
	
	
| 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.
 |