[ANNOUNCE] Git 1.7.5-rc1

Junio C Hamano gitster at pobox.com
Wed Aug 31 22:00:59 BST 2011


A release candidate Git 1.7.5-rc1 is available at the usual places
for testing:

  http://www.kernel.org/pub/software/scm/git/

  git-1.7.5.rc1.tar.{gz,bz2}			(source tarball)
  git-htmldocs-1.7.5.rc1.tar.{gz,bz2}		(preformatted docs)
  git-manpages-1.7.5.rc1.tar.{gz,bz2}		(preformatted docs)

The RPM binary packages for a few architectures are found in:

  testing/git-*-1.7.5.rc1-1.fc13.$arch.rpm	(RPM)

Please hunt for regressions and have fun.  Thanks.

Git v1.7.5 Release Notes (draft)
========================

Updates since v1.7.4
--------------------

 * Various MinGW portability fixes.

 * Various git-p4 enhancements (in contrib).

 * Various vcs-svn enhancements.

 * 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.

----------------------------------------------------------------

Changes since v1.7.5-rc0 are as follows:

Dan McGee (2):
      Remove old binaries from .gitignore
      Fix two unused variable warnings in gcc 4.6

Jakub Narebski (1):
      gitweb: Fix parsing of negative fractional timezones in JavaScript

Jared Hance (1):
      merge: match the help text with the documentation

Jeff King (7):
      merge: merge unborn index before setting ref
      pull: do not clobber untracked files on initial pull
      remote: disallow some nonsensical option combinations
      remote: separate the concept of push and fetch mirrors
      remote: deprecate --mirror
      docs: fix filter-branch subdir example for exotic repo names
      pull: do not clobber untracked files on initial pull

Jens Lehmann (7):
      fetch/pull: recurse into submodules when necessary
      fetch/pull: Add the 'on-demand' value to the --recurse-submodules option
      config: teach the fetch.recurseSubmodules option the 'on-demand' value
      Submodules: Add 'on-demand' value for the 'fetchRecurseSubmodule' option
      fetch/pull: Don't recurse into a submodule when commits are already present
      submodule update: Don't fetch when the submodule commit is already present
      fetch/pull: Describe --recurse-submodule restrictions in the BUGS section

Joe Ratterman (1):
      grep: allow -E and -n to be turned on by default via configuration

Jonathan Nieder (1):
      compat: add missing #include <sys/resource.h>

Junio C Hamano (8):
      merge: merge with the default upstream branch without argument
      "log --cherry-pick" documentation regression fix
      Doc: mention --delta-base-offset is the default for Porcelain commands
      Git 1.7.4.3
      Update release notes
      Start preparing for 1.7.4.4
      Git 1.7.4.4
      Git 1.7.5-rc1

Lawrence Mitchell (1):
      git.el: Don't use font-lock-compile-keywords

Michael J Gruber (3):
      revisions.txt: consistent use of quotes
      revisions.txt: structure with a labelled list
      revisions.txt: language improvements

Nguyễn Thái Ngọc Duy (2):
      git-init.txt: move description section up
      init, clone: support --separate-git-dir for .git file

Nicolas Morey-Chaisemartin (1):
      submodule: process conflicting submodules only once

SZEDER Gábor (1):
      Documentation: trivial grammar fix in core.worktree description

Stephen Boyd (2):
      Makefile: Cover more files with make check
      sparse: Fix errors and silence warnings

Ævar Arnfjörð Bjarmason (70):
      i18n: git-init basic messages
      i18n: git-init "Initialized [...] repository" message
      i18n: git-clone basic messages
      i18n: git-clone "Cloning into" message
      i18n: git-clone "Cloning into" message
      i18n: git-add basic messages
      i18n: git-add "The following paths are ignored" message
      i18n: git-add "did not match any files" message
      i18n: git-add "remove '%s'" message
      i18n: git-add "Unstaged changes" message
      i18n: git-branch basic messages
      i18n: git-branch "remote branch '%s' not found" message
      i18n: git-branch "Deleted branch [...]" message
      i18n: git-branch "git branch -v" messages
      i18n: git-branch "(no branch)" message
      i18n: git-checkout basic messages
      i18n: git-checkout: our/their version message
      i18n: git-checkout describe_detached_head messages
      i18n: git-checkout "HEAD is now at" message
      i18n: git-checkout "Switched to a .. branch" message
      i18n: git-commit basic messages
      i18n: git-commit "middle of a merge" message
      i18n: git-commit formatting messages
      i18n: git-commit print_summary messages
      i18n: git-commit "enter the commit message" message
      i18n: git-commit advice messages
      i18n: git-diff basic messages
      i18n: git-fetch basic messages
      i18n: git-fetch formatting messages
      i18n: git-fetch update_local_ref messages
      i18n: git-fetch split up "(non-fast-forward)" message
      i18n: git-grep basic messages
      i18n: git-grep "--open-files-in-pager" message
      i18n: git-log basic messages
      i18n: git-log "--OPT does not make sense" messages
      i18n: git-merge basic messages
      i18n: git-merge "Updating %s..%s" message
      i18n: git-merge "You have not concluded your merge" messages
      i18n: git-merge "Wonderful" message
      i18n: git-mv basic messages
      i18n: git-mv "bad" messages
      i18n: git-rm basic messages
      i18n: git-reset basic messages
      i18n: git-reset reset_type_names messages
      i18n: git-reset "Unstaged changes after reset" message
      i18n: git-tag basic messages
      i18n: git-tag tag_template message
      i18n: git-push basic messages
      i18n: git-push "prevent you from losing" message
      i18n: git-status basic messages
      i18n: git-status "nothing to commit" messages
      i18n: git-status shortstatus messages
      i18n: git-status "Changes to be committed" message
      i18n: git-status "Initial commit" message
      i18n: git-status "renamed: " message
      i18n: git-archive basic messages
      i18n: git-bundle basic messages
      i18n: git-clean basic messages
      i18n: git-clean clean.requireForce messages
      i18n: git-describe basic messages
      i18n: git-gc basic messages
      i18n: git-gc "Auto packing the repository" message
      i18n: git-notes basic commands
      i18n: git-notes GIT_NOTES_REWRITE_MODE error message
      i18n: git-revert basic messages
      i18n: git-revert "Your local changes" message
      i18n: git-revert literal "me" messages
      i18n: git-revert split up "could not revert/apply" message
      i18n: git-shortlog basic messages
      t2019-checkout-ambiguous-ref.sh: depend on C_LOCALE_OUTPUT

--
To unsubscribe from this list: send the line "unsubscribe git" in
the body of a message to majordomo at vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


More information about the git-announce mailing list