132 lines
		
	
	
	
		
			5.2 KiB
		
	
	
	
		
			Text
		
	
	
	
	
	
			
		
		
	
	
			132 lines
		
	
	
	
		
			5.2 KiB
		
	
	
	
		
			Text
		
	
	
	
	
	
| Git v1.7.5 Release Notes
 | |
| ========================
 | |
| 
 | |
| Updates since v1.7.4
 | |
| --------------------
 | |
| 
 | |
|  * Various MinGW portability fixes.
 | |
| 
 | |
|  * Various git-p4 enhancements (in contrib).
 | |
| 
 | |
|  * Various vcs-svn, git-svn and gitk enhancements and fixes.
 | |
| 
 | |
|  * Various git-gui updates (0.14.0).
 | |
| 
 | |
|  * Update to more modern HP-UX port.
 | |
| 
 | |
|  * The codebase is getting prepared for i18n/l10n; no translated
 | |
|    strings nor translation mechanism in the code yet, but the strings
 | |
|    are being marked for l10n.
 | |
| 
 | |
|  * The bash completion script can now complete symmetric difference
 | |
|    for "git diff" command, e.g. "git diff ...bra<TAB>".
 | |
| 
 | |
|  * The default minimum length of abbreviated and unique object names
 | |
|    can now be configured by setting the core.abbrev configuration
 | |
|    variable.
 | |
| 
 | |
|  * "git apply -v" reports offset lines when the patch does not apply at
 | |
|    the exact location recorded in the diff output.
 | |
| 
 | |
|  * "git config" used to be also known as "git repo-config", but the old
 | |
|    name is now officially deprecated.
 | |
| 
 | |
|  * "git checkout --detach <commit>" is a more user friendly synonym for
 | |
|    "git checkout <commit>^0".
 | |
| 
 | |
|  * "git checkout" performed on detached HEAD gives a warning and
 | |
|    advice when the commit being left behind will become unreachable from
 | |
|    any branch or tag.
 | |
| 
 | |
|  * "git cherry-pick" and "git revert" can be told to use a custom merge
 | |
|    strategy, similar to "git rebase".
 | |
| 
 | |
|  * "git cherry-pick" remembers which commit failed to apply when it is
 | |
|    stopped by conflicts, making it unnecessary to use "commit -c $commit"
 | |
|    to conclude it.
 | |
| 
 | |
|  * "git cvsimport" bails out immediately when the cvs server cannot be
 | |
|    reached, without spewing unnecessary error messages that complain about
 | |
|    the server response it never got.
 | |
| 
 | |
|  * "git fetch" vs "git upload-pack" transfer learned 'no-done'
 | |
|    protocol extension to save one round-trip after the content
 | |
|    negotiation is done. This saves one HTTP RPC, reducing the overall
 | |
|    latency for a trivial fetch.
 | |
| 
 | |
|  * "git fetch" can be told to recursively fetch submodules on-demand.
 | |
| 
 | |
|  * "git grep -f <filename>" learned to treat "-" as "read from the
 | |
|    standard input stream".
 | |
| 
 | |
|  * "git grep --no-index" did not honor pathspecs correctly, returning
 | |
|    paths outside the specified area.
 | |
| 
 | |
|  * "git init" learned the --separate-git-dir option to allow the git
 | |
|    directory for a new repository created elsewhere and linked via the
 | |
|    gitdir mechanism. This is primarily to help submodule support later
 | |
|    to switch between a branch of superproject that has the submodule
 | |
|    and another that does not.
 | |
| 
 | |
|  * "git log" type commands now understand globbing pathspecs.  You
 | |
|    can say "git log -- '*.txt'" for example.
 | |
| 
 | |
|  * "git log" family of commands learned --cherry and --cherry-mark
 | |
|    options that can be used to view two diverged branches while omitting
 | |
|    or highlighting equivalent changes that appear on both sides of a
 | |
|    symmetric difference (e.g. "log --cherry A...B").
 | |
| 
 | |
|  * A lazy "git merge" that didn't say what to merge used to be an error.
 | |
|    When run on a branch that has an upstream defined, however, the command
 | |
|    now merges from the configured upstream.
 | |
| 
 | |
|  * "git mergetool" learned how to drive "beyond compare 3" as well.
 | |
| 
 | |
|  * "git rerere forget" without pathspec used to forget all the saved
 | |
|    conflicts that relate to the current merge; it now requires you to
 | |
|    give it pathspecs.
 | |
| 
 | |
|  * "git rev-list --objects $revs -- $pathspec" now limits the objects listed
 | |
|    in its output properly with the pathspec, in preparation for narrow
 | |
|    clones.
 | |
| 
 | |
|  * "git push" with no parameters gives better advice messages when
 | |
|    "tracking" is used as the push.default semantics or there is no remote
 | |
|    configured yet.
 | |
| 
 | |
|  * A possible value to the "push.default" configuration variable,
 | |
|    'tracking', gained a synonym that more naturally describes what it
 | |
|    does, 'upstream'.
 | |
| 
 | |
|  * "git rerere" learned a new subcommand "remaining" that is similar to
 | |
|    "status" and lists the paths that had conflicts which are known to
 | |
|    rerere, but excludes the paths that have already been marked as
 | |
|    resolved in the index from its output.  "git mergetool" has been
 | |
|    updated to use this facility.
 | |
| 
 | |
| Also contains various documentation updates.
 | |
| 
 | |
| 
 | |
| Fixes since v1.7.4
 | |
| ------------------
 | |
| 
 | |
| All of the fixes in the v1.7.4.X maintenance series are included in this
 | |
| release, unless otherwise noted.
 | |
| 
 | |
|  * "git fetch" from a client that is mostly following the remote
 | |
|    needlessly told all of its refs to the server for both sides to
 | |
|    compute the set of objects that need to be transferred efficiently,
 | |
|    instead of stopping when the server heard enough. In a project with
 | |
|    many tags, this turns out to be extremely wasteful, especially over
 | |
|    the smart HTTP transport (sp/maint-{upload,fetch}-pack-stop-early~1).
 | |
| 
 | |
|  * "git fetch" run from a repository that uses the same repository as
 | |
|    its alternate object store as the repository it is fetching from
 | |
|    did not tell the server that it already has access to objects
 | |
|    reachable from the refs in their common alternate object store,
 | |
|    causing it to fetch unnecessary objects (jc/maint-fetch-alt).
 | |
| 
 | |
|  * "git remote add --mirror" created a configuration that is suitable for
 | |
|    doing both a mirror fetch and a mirror push at the same time, which
 | |
|    made little sense.  We now warn and require the command line to specify
 | |
|    either --mirror=fetch or --mirror=push.
 |