GIT 0.99.9

From: Junio C Hamano
Date: Sat Oct 29 2005 - 20:29:47 EST


GIT 0.99.9 is found at usual places.

As I said in the 0.99.8 announcement, git already does
everything I want it to do, and from here on I'd like to see us
concentrate on fixes (both correctness and performance) until we
hit 1.0 which should happen shortly.

Many thanks to everybody who contributed the comments, extra set
of eyeballs, and code.


Done in 0.99.9
==============

Ports
~~~~~

* Cygwin port [HPA].

* OpenBSD build [Merlyn and others].


Fixes
~~~~~

* clone request over git native protocol from a repository with
too many refs did not work; this has been fixed.

* git-daemon got safer for kernel.org use [HPA].

* Extended SHA1 parser was not enforcing uniqueness for
abbreviated SHA1; this has been fixed.

* http transport does not barf on funny characters in URL.

* The ref naming restrictions have been formalized and the
coreish refuses to create funny refs; we still need to audit
importers. See git-check-ref-format(1).


New Features and Commands
~~~~~~~~~~~~~~~~~~~~~~~~~

* .git/config file as a per-repository configuration mechanism,
and some commands understand it [Linus]. See
git(7).

* The core.filemode configuration item can be used to make us a
bit more FAT friendly. See git(7).

* The extended SHA1 notation acquired Peel-the-onion operator
^{type} and ^{}. See git-rev-parse(1).

* SVN importer [Matthias]. See git-svnimport(1).

* .git/objects/[0-9a-f]{2} directories are created on demand,
and removed when becomes empty after prune-packed [Linus].

* Filenames output from various commands without -z option are
quoted when they embed funny characters (TAB and LF) using
C-style quoting within double-quotes, to match the proposed
GNU diff/patch notation [me, but many people contributed in
the discussion].

* git-mv is expected to be a better replacement for git-rename.
While the latter has two parameter restriction, it acts more
like the regular 'mv' that can move multiple things to one
destinatino directory [Josef Weidendorfer].

* git-checkout can take filenames to revert the changes to
them. See git-checkout(1)

* The new program git-am is a replacement for git-applymbox that
has saner command line options and a bit easier to use when a
patch does not apply cleanly.

* git-ls-remote can show unwrapped onions using ^{} notation, to
help Cogito to track tags.

* git-merge-recursive backend can merge unrelated projects.

* git-clone over native transport leaves the result packed.

* git-http-fetch issues multiple requests in parallel when
underlying cURL library supports it [Nick and Daniel].

* git-fetch-pack and git-upload-pack try harder to figure out
better common commits [Johannes].

* git-read-tree -u removes a directory when it makes it empty.

* git-diff-* records abbreviated SHA1 names of original and
resulting blob; this sometimes helps to apply otherwise an
unapplicable patch by falling back to 3-way merge.

* git-format-patch now takes series of from..to rev ranges and
with '-m --stdout', writes them out to the standard output.
This can be piped to 'git-am' to implement cheaper
cherry-picking.

* git-tag takes '-u' to specify the tag signer identity [Linus].

* git-rev-list can take optional pathspecs to skip commits that
do not touch them (--dense) [Linus].

* Comes with new and improved gitk [Paulus and Linus].


-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/