What's in git.git, and announcing GIT 1.4.2-rc4

From: Junio C Hamano
Date: Wed Aug 09 2006 - 21:27:10 EST

GIT 1.4.2-rc4

It's been a week since -rc3, so here it is. The changes are
really small fixes and nothing else. Let's hope I can tag the
real 1.4.2 this weekend.

* The 'master' branch has these since the last announcement;
these are all in 1.4.2-rc4:

Jeff King:
git-push: allow pushing from subdirectories

Johannes Schindelin:
Fix crash when GIT_DIR is invalid

Jonas Fonseca:
Update git-init-db(1) and documentation of core.sharedRepository

Junio C Hamano:
Cygwin needs NO_C99_FORMAT???
Makefile: Cygwin does not seem to need NO_STRLCPY
Fix "grep -w"
builtin-mv: fix use of uninitialized memory.
GIT-VERSION-GEN: adjust for ancient git
Documentation: git-status takes the same options as git-commit
Fix tutorial-2.html
check return value from diff_setup_done()
find_unique_abbrev() with len=0 should not abbreviate
make --find-copies-harder imply -C
allow diff.renamelimit to be set regardless of -M/-C

Michael Krelin:
handle https:// protocol in git-clone

Ramsay Jones:
Allow config file to specify Signed-off-by identity in format-patch.
commit walkers: setup_ident() to record correct committer in ref-log.

Ryan Anderson:
log-tree: show_log() should respect the setting of diffopt->line_termination
annotate: Fix bug when parsing merges with differing real and logical parents.

* The 'next' branch, in addition, has these.

= To graduate immediately after 1.4.2 happens:

- Jakub Narebski's autoconf stuff acquired a bit more
clean-ups and new detections since the last announcement.

- A new merge strategy, merge-recur, which is a rewrite of
merge-recursive in C, by Johannes and Alex.

- More commands are made built-in by Matthias Kestenholz, and
I cleaned up the build procedure for built-ins a bit.

- Matthias Lederhofer introduced $GIT_PAGER environment
variable that can specify a different pager from $PAGER.

- Ramsay Jones has one header fix to add _GNU_SOURCE, which
helps things to compile in his environment. This was
confirmed to fix a similar problem on an ancient version of
one distribution.

- Timo Hirvonen made the parameter parsing of diff family
saner some time ago. Remaining two minor changes will
graduate to "master" after 1.4.2:

* --name-only, --name-status, --check and -s are mutually exclusive

* Remove awkward compatibility warts "-s". Now -s means "do
not output diff" everywhere, including git-diff-files.

- Johannes made http-push avoid fork() by calling
merge_bases() directly.

- MAX_NEEDS and MAX_HAS limitation in upload-pack has been

- pack-objects can copy a non-delta representation of a object
with the new style header straight into packs.

- Paul Mackerras has a few gitk updates.

* Hopefully not too long after 1.4.2:

- A big gitweb clean-up series by Jakub Narebski, with help
from Jeff King, Matthias Lederhofer and Martin Waitz to make
run-time and build-time configuration easier.

Quite a lot of clean-ups and enhancements by Jakub and Luben
Tuikov are queued, and with the proposed function renames,
it may be stable enough to start seriously testing soon
after 1.4.2 happens.

- New style loose objects, which use the same header format as
in-pack objects, can be copied straight into packs when not
deltified. I am hoping that we can make the new-style loose
objects the default in 10 to 12 weeks to give everybody time
to update to 1.4 series.

= Graduation schedule unknown:

- Not-universally-liked Git.pm by Pasky with help from Dennis
Stosberg, Johannes, Pavel Roskin and others. One drawback
is this pretty much makes Perl scripts that use Git.pm
unusable with ActiveState right now. No changes since the
last announcement.

- Linus worries that Racy-git avoidance code leaves racily-clean
index entries forever and hurts performance, and I did some
tweaks. First we need to verify performance is actually
harmed and by how much to see if this is needed.

* The 'pu' branch, in addition, has these.

- An update to upload-pack to prevent it from going all the
way back when the downloader has more roots than it. Needs
testing and comments.

- Johannes has a new diff option --color-words to use color to
squash word differences into single line output.

I do not feel much need for this stuff, and the change is
rather intrusive, so I am tempted to drop it.

- A new merge strategy, merge-rename, which is still a
work-in-progress to handle renames in read-tree 3-way
merge. Judging from the way Johannes's merge-recur is
making progress, I may want to drop this.

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/