Many fixes came in since 1.4.1 was done. Please see the short-log for what's new in "master". In the "next" branch, these are cooking: - Early parts of Perly Git by Petr Baudis with help from others are merged to "next". Please report breakages before other Perl scripts are converted to use this. - "diff --text" by Stephan Feder. I think this one is correct and should be very safe, but bugs happen to "obvious" code too, so I have not merged it to "master" yet. - Move git-svn by Eric Wong out of contrib to make it a first-class citizen. - "git-merge-tree" improvements by Linus. I may want to update this to use our diff routines, but probably after OLS. In "pu", there are a few more: - An updated result minimization code in merge-base. I think this is correct and is not too expensive. I'd like to run a few more test on this and merge it to "next". - Updated upload-pack to avoid letting the downloader to traverse commits from a branch all the way down to root in vain, when that root is knot known to upload-pack. This needs another round of test with something like Linus's 2.6 repository and MIPS repository, which costs me quite a lot of time so I am postponing it right now. - Built-in git-prune by Linus. I have read the code and did not spot problems, and it indeed is a lot faster. But this is git-prune, so I am playing it a bit more cautiously than I usually do. - GIT_TRACE by Matthias Lederhofer. What it lets you do is interesting (although I personally do not foresee myself using it), and I am in favor of its inclusion. The issue that the mechanism does not let you trace some commands (scripts) raised on the list has stalled this topic branch. I'd either want people to agree that it is not a problem, or if they feel it is a problem, have a fix for that, before merging this to "next". - Auto configuration by Pasky and Jakub. This deserves a fresh paragraph. The first patch to use autoconf to build ./configure by Jakub Narebski is in "pu". I am not against an autoconfiguration mechanism to maintain config.mak.gen mechanically as an _option_, and if we are going to have a ./configure script, it would be better to avoid reinventing the tests autoconf people worked for a long time to make robust and portable. I hope further patches to this series will be added soon to autodetect the following in our Makefile (from "pu"): NO_D_INO_IN_DIRENT NO_D_TYPE_IN_DIRENT NO_STRCASESTR NO_STRLCPY NO_SETENV USE_PIC NEEDS_SSL_WITH_CRYPTO NEEDS_LIBICONV NEEDS_SOCKET WITH_OWN_SUBPROCESS_PY NO_IPV6 NO_SOCKADDR_STORAGE NO_ICONV These are not something you can change without replacing libc (or installed Python) wholesale, so autodetection would be always correct. Also the following would be nice if autodetection worked for most of the users with ./configure command line override: CC AR TAR INSTALL SHELL_PATH PERL_PATH PYTHON_PATH BASIC_CFLAGS mostly for -I include paths BASIC_LDFLAGS mostly for -L library paths ALL_LDFLAGS NO_OPENSSL MOZILLA_SHA1 PPC_SHA1 ARM_SHA1 NO_CURL NO_EXPAT CURLDIR OPENSSLDIR ICONVDIR EXPATDIR (we do not have one, but I think it should be there to allow -lexpat installed elsewhere just like we have CURLDIR and OPENSSLDIR) Note that I listed NO_OPENSSL, NO_CURL, and NO_EXPAT here not with the first category, because you may not want to build git with them even when you do have these libraries. The directories our stuff will go is builder's policy, so I do not think automating it is particularly useful, but I am not opposed if ./configure allowed people to say --prefix=blah. Because the autodetection of non-policy part is what I primarily want from ./configure, people who run ./configure without giving particular --prefix and friends to it should not be burned by the choice ./configure makes by default. I presume they can have their own customized prefix and friends in config.mak which will be included after config.mak.gen so hopefully that is a non-issue. ---------------------------------------------------------------- * The 'master' branch has these since the last announcement. Dennis Stosberg: gitweb: Declare global variables with "our" Eric Wong: Add git-instaweb, instantly browse the working repo with gitweb instaweb: fix unportable ';' usage in sed t8001-annotate: fix a bash-ism in this test git-svn: avoid fetching files outside of the URL we're tracking builtin-log: respect diff configuration options Jakub Narebski: send-email: format 2822 datestring ourselves. Joachim B Haga: Make zlib compression level configurable, and change default. core.compression documentation formatting fix. Johannes Schindelin: refactor merge_bases() as preparation to libify merge-base move get_merge_bases() to core lib. Makefile: replace ugly and unportable sed invocation Make git-fmt-merge-msg a builtin Junio C Hamano: Makefile: add framework to verify and bench sha1 implementations. test-sha1: test hashing large buffer t4013: add tests for diff/log family output options. t4013: add more tests around -c and --cc Fix some more diff options changes. t4013 test updates for new output code. combine-diff.c: type sanity. format-patch: fix diff format option implementation t4013: add format-patch tests. t4013: note improvements brought by the new output code. gitweb: optimize per-file history generation t4013: add "diff" UI program tests. builtin-diff: turn recursive on when defaulting to --patch format. commit.c: do not redefine UNINTERESTING bit. Makefile: tighten git-http-{fetch,push} dependencies get_merge_bases: clean up even when there is no common commit. revert clear-commit-marks for now. boolean: accept yes and no as well send-email: do not barf when Term::ReadLine does not like your terminal t6200: fmt-merge-msg test. git-grep: fix parsing of pathspec separator '--' git-grep: fix exit code when we use external grep. git-grep: use a bit more specific error messages. Re-fix clear_commit_marks(). git-reset: complain and exit upon seeing an unknown parameter. builtin-rev-parse.c: constness tightening show-branch: match documentation and usage rev-parse documentation: talk about range notation. Linus Torvalds: revision.c: fix "dense" under --remove-empty Improve git-peek-remote Luben Tuikov: gitweb: Enable tree (directory) history display Rene Scharfe: Add get_merge_bases_clean() Add '...' operator for revisions Make clear_commit_marks() clean harder Fold get_merge_bases_clean() into get_merge_bases() rev-list: free commit_list in ... handler Robin Rosenberg: Empty author may be presented by svn as an empty string or a null value. Ryan Anderson: annotate: Support annotation of files on other revisions. annotate: Correct most merge following to annotate correctly. Santi Béjar: Teach rev-parse the ... syntax. Stephan Feder: Do not drop data from '\0' until eol in patch output Timo Hirvonen: Merge with_raw, with_stat and summary variables to output_format Make --raw option available for all diff commands Set default diff output format after parsing command line DIFF_FORMAT_RAW is not default anymore Add msg_sep to diff_options Don't xcalloc() struct diffstat_t whatchanged: Default to DIFF_FORMAT_RAW Print empty line between raw, stat, summary and patch diff-tree: Use ---\n as a message separator log --raw: Don't descend into subdirectories by default Fix diff-tree -s Unknown: A better-scheduled PPC SHA-1 implementation. Ville Skyttä: Fix print-log and diff compatibility with recent vc versions * The 'next' branch, in addition, has these. Dennis Stosberg: "test" in Solaris' /bin/sh does not support -e Makefile fix for Solaris Add possibility to pass CFLAGS and LDFLAGS specific to the perl subdir Eric Wong: git-svn: migrate out of contrib git-svn: migrate out of contrib (follow-up) diff.c: respect diff.renames config option Jakub Narebski: Allow INSTALL, bindir, mandir to be set in main Makefile Rename man1 and man7 variables to man1dir and man7dir Johannes Schindelin: Git.xs: older perl do not know const char * Makefile: export NO_SVN_TESTS Junio C Hamano: Perl interface: add build-time configuration to allow building with -fPIC Perl interface: make testsuite work again. perl: fix make clean Git.pm: tentative fix to test the freshly built Git.pm Perly Git: arrange include path settings properly. Makefile: Set USE_PIC on x86-64 Perly git: work around buggy make implementations. Git.pm: clean generated files. Perly Git: make sure we do test the freshly built one. INSTALL: a tip for running after building but without installing. git-grep: boolean expression on pattern matching. mailinfo: assume input is latin-1 on the header as we do for the body diffcore-rename: try matching up renames without populating filespec first. diff.c: --no-color to defeat diff.color configuration. Update diff-options and config documentation. git log -p --merge [[--] paths...] Linus Torvalds: xdiff: generate "anti-diffs" aka what is common to two files Prepare "git-merge-tree" for future work Improved three-way blob merging code Pavel Roskin: Fix probing for already installed Error.pm Delete manuals if compiling without docs Make perl interface a separate package Petr Baudis: Introduce Git.pm (v4) Git.pm: Implement Git::exec_path() Git.pm: Call external commands using execv_git_cmd() Git.pm: Implement Git::version() Add Error.pm to the distribution Git.pm: Better error handling Git.pm: Handle failed commands' output Git.pm: Enhance the command_pipe() mechanism Git.pm: Implement options for the command interface Git.pm: Add support for subdirectories inside of working copies Convert git-mv to use Git.pm Git.pm: assorted build related fixes. Git.pm: Try to support ActiveState output pipe Git.pm: Swap hash_object() parameters Git.pm: Fix Git->repository("/somewhere/totally/elsewhere") Git.pm: Support for perl/ being built by a different compiler Git.pm: Remove PerlIO usage from Git.xs Git.pm: Avoid ppport.h Git.pm: Don't #define around die Use $GITPERLLIB instead of $RUNNING_GIT_TESTS and centralize @INC munging Git.pm: Add config() method Convert git-send-email to use Git.pm Git.pm: Introduce ident() and ident_person() methods Stephan Feder: Teach --text option to diff Teach diff -a as shorthand for --text Add -a and --text to common diff options help diff-options: Explain --text and -a Timo Hirvonen: --name-only, --name-status, --check and -s are mutually exclusive * The 'pu' branch, in addition, has these. A Large Angry SCM: Additional merge-base tests (revised) Jakub Narebski: autoconf: Use autoconf to write installation directories to config.mak.autogen Junio C Hamano: merge-base: update the clean-up postprocessing upload-pack: use object pointer not copy of sha1 to keep track of has/needs. upload-pack: lift MAX_NEEDS and MAX_HAS limitation upload-pack: minor clean-up in multi-ack logic upload-pack: stop the other side when they have more roots than we do. Work around sed and make interactions on the backslash at the end of line. Linus Torvalds: builtin "git prune" Matthias Lederhofer: GIT_TRACE: show which built-in/external commands are executed Peter Baumann: git-cvsexportcommit can't handle merge commits correctly Petr Baudis: Make it possible to set up libgit directly (instead of from the environment) Git.pm: Introduce fast get_object() method Convert git-annotate to use Git.pm Timo Hirvonen: Remove awkward compatibility warts GIT_TRACE: fix a mixed declarations and code warning - : send the line "unsubscribe git" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html