Re: [ANNOUNCE] Git v2.12.0

From: Ãvar ArnfjÃrà Bjarmason
Date: Mon Feb 27 2017 - 11:44:28 EST


On Fri, Feb 24, 2017 at 8:28 PM, Junio C Hamano <gitster@xxxxxxxxx> wrote:
> The latest feature release Git v2.12.0 is now available at the
> usual places. It is comprised of 517 non-merge commits since
> v2.11.0, contributed by 80 people, 24 of which are new faces.

Yay, some explanations / notes / elaborations:

> * "git diff" learned diff.interHunkContext configuration variable
> that gives the default value for its --inter-hunk-context option.

This is really cool. Now if you have e.g. lots of changed lines each
10 lines apart --inter-hunk-context=10 will show those all as one big
hunk, instead of needing to specify -U10 as you had to before, which
would give all hunks a context of 10 lines.

> * An ancient repository conversion tool left in contrib/ has been
> removed.

I thought "what tool?" so here's what this is. git.git was born on
April 7, 2005. For the first 13 days we'd hash the contents of
*compressed* blobs, not their uncompressed contents. Linus changed
this in: https://github.com/git/git/commit/d98b46f8d9

This tool was the ancient tool to convert these old incompatible
repositories from the old format. If someone hasn't gotten around to
this since 2005 they probably aren't ever going to do it :)

> * Some people feel the default set of colors used by "git log --graph"
> rather limiting. A mechanism to customize the set of colors has
> been introduced.

This is controlled via the log.graphColors variable. E.g.:

git -c log.graphColors="red, green, yellow" log --graph HEAD~100..

Does anyone have a prettier invocation?

> * "git diff" and its family had two experimental heuristics to shift
> the contents of a hunk to make the patch easier to read. One of
> them turns out to be better than the other, so leave only the
> "--indent-heuristic" option and remove the other one.

... the other one being --compaction-heuristic.