I've merged quite a bit of stuff and tagged the tip of "master" as GIT 1.4.1-rc1.
As promised, 1.4.X series will be managed slightly differently, and this is in preparation of the first installment of it. The releases will come from the "master" branch to contain both fixes and enhancements from now on. Hotfix releases when necessary would have 1.4.X.Y revision numbers, but I am hoping that we do not have to do that very often.
Since all the exciting and potentially risky developments are to happen on the "next" branch and they are supposed to graduate to "master" branch after they are reasonably well cooked, this change will help the end-users to stay reasonably current without hopefully not introducing unexpected problems. The older scheme left out all the enhancements if people followed packaged versions, and gave big surprises when upgrading from version X.Y.Z to X.(Y+1).0 which was not so nice.
Notable improvements since v1.4.0 are:
- PPC SHA1 routine can grok more than half-gig of data (Paul Mackerras)
- rev-list and object-layer in general is less (much less) space hungry (Linus).
- the source is more friendly to stricter compilers such as Sun's (Florian Forster).
- git rebase --merge (Eric Wong). This uses the usual 3-way merge machinery while running rebase, and you can rebase across renames if you use the recursive strategy which is the default.
- gitweb updates -- mostly cleanups (Jakub Narebski with help from Pasky and Timo Hirvonen).
- diff --color (Johannes).
- ~/.gitconfig and $ENV{GIT_CONFIG} (Pasky and Johannes).- core.sharedrepository can take umask, group or world (Linus and I)
- "git checkout -f" removes files that becomes untracked from the working tree
- "git clone/fetch" from a corrupt repository does not propagate brokenness to the downloaders.
- "git clone/fetch" over the network gives better progress updates; this may also help TCP timeout problems for people behind NAT.
- Many more commands are built-in (Lukas Sandström)
- git can now be used on Kiritimati (Paul Eggert)
----------------------------------------------------------------
* The 'master' branch has these since the last announcement.
Andre Noll:
object-refs: avoid division by zero David Woodhouse:
Log peer address when git-daemon called from inetd Dennis Stosberg:
Make t8001-annotate and t8002-blame more portable
Fix t8001-annotate and t8002-blame for ActiveState Perl Eric W. Biederman:
Fix git-format-patch -s
Check and document the options to prevent mistakes. Eric Wong:
git-svn: fix --rmdir when using SVN:: libraries
rebase: Allow merge strategies to be used when rebasing
rebase: error out for NO_PYTHON if they use recursive merge
git-svn: fix commit --edit flag when using SVN:: libraries Florian Forster:
Remove ranges from switch statements.
Initialize FAMs using `FLEX_ARRAY'.
Don't instantiate structures with FAMs.
Cast pointers to `void *' when used in a format.
Don't use empty structure initializers.
Change types used in bitfields to be `int's.
Remove all void-pointer arithmetic. Jakub Narebski:
Move gitweb style to gitweb.css
gitweb: safely output binary files for 'blob_plain' action
gitweb: text files for 'blob_plain' action without charset by default
Fix gitweb stylesheet
Make CSS file gitweb/gitweb.css more readable
gitweb: add type="text/css" to stylesheet link
Fix: Support for the standard mime.types map in gitweb
gitweb: A couple of page title tweaking
gitweb: style done with stylesheet
gitweb: whitespace cleanup
Add git version to gitweb output
Move $gitbin earlier in gitweb.cgi
gitweb: Make use of $PATH_INFO for project parameter
gitweb: whitespace cleanup around '=' Johannes Schindelin:
diff options: add --color
Initialize lock_file struct to all zero.
Fix setting config variables with an alternative GIT_CONFIG
Read configuration also from $HOME/.gitconfig
repo-config: Fix late-night bug
git_config: access() returns 0 on success, not > 0 Junio C Hamano:
read-tree: --prefix=<path>/ option.
write-tree: --prefix=<path>
read-tree: reorganize bind_merge code.
fetch-pack: give up after getting too many "ack continue"
shared repository: optionally allow reading to "others".
fix rfc2047 formatter.
xdiff: minor changes to match libxdiff-0.21
Restore SIGCHLD to SIG_DFL where we care about waitpid().
checkout -f: do not leave untracked working tree files.
upload-pack: avoid sending an incomplete pack upon failure
upload-pack: prepare for sideband message support.
Retire git-clone-pack
upload-pack/fetch-pack: support side-band communication
Add renaming-rebase test.
daemon: send stderr to /dev/null instead of closing.
rebase --merge: fix for rebasing more than 7 commits.
Makefile: do not force unneeded recompilation upon GIT_VERSION changes Linus Torvalds:
Shrink "struct object" a bit
Move "void *util" from "struct object" into "struct commit"
Some more memory leak avoidance
Remove "refs" field from "struct object"
Add specialized object allocator
Add "named object array" concept
Fix grow_refs_hash() Lukas Sandström:
Make git-write-tree a builtin
Make git-mailsplit a builtin
Make git-mailinfo a builtin
Make git-stripspace a builtin
Make git-update-index a builtin
Make git-update-ref a builtin Paul Eggert:
date.c: improve guess between timezone offset and year. Paul Mackerras:
Fix PPC SHA1 routine for large input buffers Petr Baudis:
Support for extracting configuration from different files
Support for the standard mime.types map in gitweb Rene Scharfe:
git-tar-tree: Simplify write_trailer()
git-tar-tree: documentation update
git-tar-tree: no more void pointer arithmetic
Make release tarballs friendlier to older tar versions Timo Hirvonen:
gitweb: Use $hash_base as $search_hash if possible Uwe Zeisberger:
Fix possible out-of-bounds array access Yakov Lerner:
auto-detect changed prefix and/or changed build flags
Pass -DDEFAULT_GIT_TEMPLATE_DIR only where actually used.* The 'pu' branch, in addition, has these.
Johannes Schindelin:
Teach diff about -b and -w flags Lukas Sandström:
Make it possible to call cmd_apply multiple times
Make git-am a builtin