New Git Maintenance Release 1.7.0.2 Available

On 13th February 2010 Git v1.7.0 was made available for download and testing. This has subsequently been followed up with 2 maintenance releases, taking Git to version 1.7.0.2.

The download is available from the normal git release points:

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

git-1.7.0.2.tar.{gz,bz2} (source tarball)

git-htmldocs-1.7.0.2.tar.{gz,bz2} (preformatted docs)

git-manpages-1.7.0.2.tar.{gz,bz2} (preformatted docs)

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

RPMS/$arch/git-*-1.7.0.2-1.fc11.$arch.rpm (RPM)

Git Training, Git Commercial Support, and Git ProductsContact Us for more information.

Clearvision provide Git Consulting, Git Training (including Git eLearning), Git Support for both large and small organisations and also Git related products such as our Application Lifecycle Management interface for Git Agile UCM4Git.

Details of the Releases can be found in the Release Notes below:

Git v1.7.0 Release Notes
========================

Notes on behaviour change
-------------------------

  • "git push" into a branch that is currently checked out (i.e. pointed at by HEAD in a repository that is not bare) is refused by default.
    Similarly, "git push $there :$killed" to delete the branch $killed in a remote repository $there, when $killed branch is the current branch pointed at by its HEAD, will be refused by default.
    Setting the configuration variables receive.denyCurrentBranch and receive.denyDeleteCurrent to 'ignore' in the receiving repository can be used to override these safety features.
  • "git send-email" does not make deep threads by default when sending a patch series with more than two messages. All messages will be sent as a reply to the first message, i.e. cover letter.
    It has been possible already to configure send-email to send "shallow thread" by setting sendemail.chainreplyto configuration variable to false. The only thing this release does is to change the default when you haven't configured that variable.
  • "git status" is not "git commit --dry-run" anymore. This change does not affect you if you run the command without argument.
  • "git diff" traditionally treated various "ignore whitespace" options only as a way to filter the patch output. "git diff --exit-code -b" exited with non-zero status even if all changes were about changing the amount of whitespace and nothing else; and "git diff -b" showed the "diff --git" header line for such a change without patch text.
    In this release, the "ignore whitespaces" options affect the semantics of the diff operation. A change that does not affect anything but whitespaces is reported with zero exit status when run with --exit-code, and there is no "diff --git" header for such a change.
  • External diff and textconv helpers are now executed using the shell. This makes them consistent with other programs executed by git, and allows you to pass command-line parameters to the helpers. Any helper paths containing spaces or other metacharacters now need to be shell-quoted. The affected helpers are GIT_EXTERNAL_DIFF in the environment, and diff.*.command and diff.*.textconv in the config file.
  • The --max-pack-size argument to 'git repack', 'git pack-objects', and 'git fast-import' was assuming the provided size to be expressed in MiB, unlike the corresponding config variable and other similar options accepting a size value. It is now expecting a size expressed in bytes, with a possible unit suffix of 'k', 'm', or 'g'.

Git v1.7.0.2 Release Notes
==========================

Fixes since v1.7.0.1
--------------------

  • GIT_PAGER was not honored consistently by some scripted Porcelains, most notably "git am".
  • updating working tree files after telling git to add them to the index and while it is still working created garbage object files in the repository without diagnosing it as an error.
  • "git bisect -- pathspec..." did not diagnose an error condition properly when the simplification with given pathspec made the history empty.
  • "git rev-list --cherry-pick A...B" now has an obvious optimization when the histories haven't diverged (i.e. when one end is an ancestor of the other).
  • "git diff --quiet -w" did not work as expected.
  • "git fast-import" didn't work with a large input, as it lacked support for producing the pack index in v2 format.
  • "git imap-send" didn't use CRLF line endings over the imap protocol when storing its payload to the draft box, violating RFC 3501.
  • "git log --format='%w(x,y,z)%b'" and friends that rewrap message has been optimized for utf-8 payload.
  • Error messages generated on the receiving end did not come back to "git push".
  • "git status" in 1.7.0 lacked the optimization we used to have in 1.6.X series to speed up scanning of large working tree.
  • "gitweb" did not diagnose parsing errors properly while reading tis configuration file.
And other minor fixes and documentation updates.

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


Changes since v1.7.0.1 are as follows:

Bert Wesarg (1):
unset GREP_OPTIONS in test-lib.sh
Christian Couder (1):
bisect: error out when passing bad path parameters
Dmitry Potapov (1):
hash-object: don't use mmap() for small files
Erik Faye-Lund (1):
run-command: support custom fd-set in async
Gabriel Filion (1):
require_work_tree broken with NONGIT_OK
Hitoshi Mitake (1):
git-imap-send: Convert LF to CRLF before storing patch to draft box
Jakub Narebski (2):
gitweb: Die if there are parsing errors in config file
gitweb: Fix project-specific feature override behavior
Jonathan Nieder (8):
Fix 'git var' usage synopsis
Make 'git var GIT_PAGER' always print the configured pager
git.1: Clarify the behavior of the --paginate option
git svn: Fix launching of pager
am: Fix launching of pager
tests: Add tests for automatic use of pager
t7006-pager: if stdout is not a terminal, make a new one
tests: Fix race condition in t7006-pager
Junio C Hamano (6):
t6000lib: Fix permission
lib-patch-mode.sh: Fix permission
status: preload index to optimize lstat(2) calls
Start preparing for 1.7.0.2
Update draft release notes to 1.7.0.2
Git 1.7.0.2
Larry D'Anna (2):
git diff --quiet -w: check and report the status
git-diff: add a test for git diff --quiet -w
Matthieu Moy (1):
stash: suggest the correct command line for unknown options.
Michal Sojka (1):
Remove extra '-' from git-am(1)
Nicolas Pitre (8):
fast-import: start using struct pack_idx_entry
fast-import: use sha1write() for pack data
fast-import: use write_idx_file() instead of custom code
fast-import: make default pack size unlimited
fast-import: honor pack.indexversion and pack.packsizelimit config vars
fast-import: use the diff_delta() max_delta_size argument
sha1_file: don't malloc the whole compressed result when writing out objects
sha1_file: be paranoid when creating loose objects
René Scharfe (4):
utf8.c: remove print_wrapped_text()
utf8.c: remove print_spaces()
utf8.c: remove strbuf_write()
utf8.c: speculatively assume utf-8 in strbuf_add_wrapped_text()
Shawn O. Pearce (7):
run-command: Allow stderr to be a caller supplied pipe
send-pack: demultiplex a sideband stream with status data
receive-pack: Refactor how capabilities are shown to the client
receive-pack: Wrap status reports inside side-band-64k
receive-pack: Send hook output over side band #2
t5401: Use a bare repository for the remote peer
receive-pack: Send internal errors over side-band #2
Stephen Boyd (1):
t7406: Fix submodule init config tests
Sylvain Rabot (1):
gitweb multiple project roots documentation
Tay Ray Chuan (1):
transport: add got_remote_refs flag
Thomas Rast (1):
cherry_pick_list: quit early if one side is empty