[Announce] GIT 1.3.0

Junio C Hamano junkio at cox.net
Sat May 12 21:30:02 BST 2018


The latest feature release GIT 1.3.0 is available at the usual places:

	http://www.kernel.org/pub/software/scm/git/

	git-1.3.0.tar.{gz,bz2}			(tarball)
	RPMS/$arch/git-*-1.3.0-1.$arch.rpm	(RPM)


There are many fixes and enhancements all over the place, and here is
only a list of notable user-visible changes in 1.3.0 since 1.2.6:

 - git-cvsserver (Martin Langhoff).

   This allows you to make your git repo accessible from CVS clients.

 - Annotate/blame (Ryan Anderson and Fredrik Kuivinen).

   These are alternate implementations of cvs annotate
   equivalent.  One of them probably needs to be eventually
   retired, but for now they are kept while both of them
   still have room for improvements.

 - builtin diff generation is now truly built-in.  We do not
   rely on GNU diff anymore (Linus and Davide Libenzi).

   This unfortunately makes GIT_DIFF_OPTS less useful; it can
   only take -u<n> or --unified=<n> and nothing else.

 - diff family acquired --stat, --patch-with-stat and --patch-with-raw
   output formats (Johannes Schindelin, Petr Baudis).

 - git-log command now takes diff options to act as a
   replacement for git-whatchanged.

 - rename detector was simplified and got faster (Linus and me).

 - clone --use-separate-remote; a repository cloned with this
   flag will copy the upstream branch heads under .git/remotes/origin/,
   not .git/heads/.  You will get the default "master" branch
   that starts out as a copy of the upstream HEAD.

 - A lot lower start-up latency for git-log, even when limiting
   by paths (Linus).

 - "git-commit --amend" can be used to amend the tip commit of the
   current branch.

 - Human date parsing is a bit friendlier to our European friends by
   preferring dd.mm.yy format over mm.dd.yy.

 - contrib/ hierarchy.  Things that are not purely git proper
   but are "around git" are shipped with git.  Current
   piggybackers are:

   - Two Emacs interfaces (Alexandre Julliard)
   - Alternative SVN interface (Eric Wong)
   - Alternative repository viewer (Aneesh Kumar)

----------------------------------------------------------------
(Shortlog since v1.2.6)

A Large Angry SCM:
      Makefile fixups.

Alex Riesen:
      PATCH: simplify calls to git programs in git-fmt-merge-msg
      workaround fat/ntfs deficiencies for t3600-rm.sh (git-rm)

Alexandre Julliard:
      Add an Emacs interface in contrib.
      git-format-patch: Always add a blank line between headers and body.
      contrib/emacs: Add an Emacs VC backend.
      git.el: Portability fixes for XEmacs and Emacs CVS.
      git.el: Set default directory before running the status mode setup hooks.
      git.el: Automatically update .gitignore status.
      git.el: Added support for Signed-off-by.
      git.el: Added customize support for all parameters.
      ls-files: Don't require exclude files to end with a newline.
      git.el: More robust handling of subprocess errors when returning strings.
      git.el: Get the default user name and email from the repository config.
      git.el: Added a function to diff against the other heads in a merge.

Anand Kumria:
      git-svnimport: if a limit is specified, respect it

Aneesh Kumar K.V:
      Add contrib/gitview from Aneesh.
      Add a README for gitview
      gitview: typofix
      gitview: Read tag and branch information using git ls-remote
      gitview: Use monospace font to draw the branch and tag name
      gitview: Display the lines joining commit nodes clearly.
      gitview: Fix DeprecationWarning
      gitview: Bump the rev
      gitview: Code cleanup
      gitview: Fix the graph display .
      gitview: Fix the encoding related bug
      gitview: Remove trailing white space
      gitview: Some window layout changes.
      gitview: Set the default width of graph cell
      gitview: Use horizontal scroll bar in the tree view
      gitview: pass the missing argument _show_clicked_cb.

Carl Worth:
      git-rebase: Clarify usage statement and copy it into the actual documentation.
      New test to verify that when git-clone fails it cleans up the new directory.
      git-ls-files: Fix, document, and add test for --error-unmatch option.
      Add new git-rm command with documentation
      git-rm: Fix to properly handle files with spaces, tabs, newlines, etc.

Davide Libenzi:
      Clean-up trivially redundant diff.
      xdiff: post-process hunks to make them consistent.

Dennis Stosberg:
      Solaris 9 also wants our own unsetenv/setenv.
      Replace index() with strchr().

Dmitry V. Levin:
      git/Documentation: fix SYNOPSIS style bugs

Eric W. Biederman:
      Implement limited context matching in git-apply.

Eric Wong:
      Introducing contrib/git-svn.
      git-svn: fix revision order when XML::Simple is not loaded
      git-svn: ensure fetch always works chronologically.
      git-svn: remove files from the index before adding/updating
      git-svn: fix a typo in defining the --no-stop-on-copy option
      git-svn: allow --find-copies-harder and -l<num> to be passed on commit
      git-svn: Allow for more argument types for commit (from..to)
      git-svn: remove any need for the XML::Simple dependency
      git-svn: change ; to && in addremove()
      contrib/git-svn.txt: add a note about renamed/copied directory support
      git-svn: fix several corner-case and rare bugs with 'commit'
      contrib/git-svn: add Makefile, test, and associated ignores
      git-svn: 0.9.1: add --version and copyright/license (GPL v2+) information
      contrib/git-svn: add show-ignore command
      contrib/git-svn: optimize sequential commits to svn
      contrib/git-svn: version 0.10.0
      contrib/git-svn: tell the user to not modify git-svn-HEAD directly
      contrib/git-svn: correct commit example in manpage
      contrib/git-svn: use refs/remotes/git-svn instead of git-svn-HEAD
      git-branch: add -r switch to list refs/remotes/*
      contrib/git-svn: add -b/--branch switch for branch detection
      contrib/git-svn: several small bug fixes and changes
      contrib/git-svn: strip 'git-svn-id:' when commiting to SVN
      contrib/git-svn: allow --authors-file to be specified
      contrib/git-svn: cleanup option parsing
      contrib/git-svn: create a more recent master if one does not exist
      contrib/git-svn: avoid re-reading the repository uuid, it never changes
      contrib/git-svn: add --id/-i=$GIT_SVN_ID command-line switch
      contrib/git-svn: better documenting of CLI switches
      send-email: accept --no-signed-off-by-cc as the documentation states
      contrib/git-svn: fix a copied-tree bug in an overzealous assertion
      contrib/git-svn: fix svn compat and fetch args
      contrib/git-svn: remove the --no-stop-on-copy flag
      contrib/git-svn: fix a harmless warning on rebuild (with old repos)
      fetch,parse-remote,fmt-merge-msg: refs/remotes/* support
      ls-tree: add --abbrev[=<n>] option
      ls-files: add --abbrev[=<n>] option
      contrib/git-svn: allow rebuild to work on non-linear remote heads
      send-email: use built-in time() instead of /bin/date '+%s'
      send-email: Change from Mail::Sendmail to Net::SMTP
      send-email: try to order messages in email clients more correctly
      send-email: lazy-load Email::Valid and make it optional
      contrib/git-svn: stabilize memory usage for big fetches
      contrib/git-svn: force GIT_DIR to an absolute path
      contrib/git-svn: accept configuration via repo-config
      contrib/git-svn: documentation updates
      contrib/git-svn: ensure repo-config returns a value before using it
      contrib/git-svn: make sure our git-svn is up-to-date for test
      contrib/git-svn: handle array values correctly

Fernando J. Pereda:
      Allow building Git in systems without iconv

Francis Daly:
      AsciiDoc fix for tutorial
      Tweak asciidoc output to work with broken docbook-xsl
      Fix multi-paragraph list items in OPTIONS section
      Format tweaks for asciidoc.
      Tweaks to make asciidoc play nice.

Fredrik Kuivinen:
      Add git-blame, a tool for assigning blame.
      git-blame, take 2
      git-blame: Make the output human readable
      git-blame: Use the same tests for git-blame as for git-annotate
      Fix some inconsistencies in the docs
      Remove trailing dot after short description
      Nicer output from 'git'
      Make it possible to not clobber object.util in sort_in_topological_order (take 2)
      rev-lib: Make it easy to do rename tracking (take 2)
      blame: Rename detection (take 2)
      blame: Nicer output
      blame: Fix git-blame <directory>
      Makefile: Add TAGS and tags targets

Herbert Valerio Riedel:
      git-svnimport symlink support

J. Bruce Fields:
      Document git-rebase behavior on conflicts.
      Documentation: revise top of git man page

Jason Riedy:
      Fix typo in git-rebase.sh.
      Add ALL_LDFLAGS to the git target.

Jeff Muizelaar:
      cosmetics: change from 'See-Also' to 'See Also'
      documentation: add 'see also' sections to git-rm and git-add

Jim Radford:
      fix repacking with lots of tags

Johannes Schindelin:
      Fix cpio call
      Optionally support old diffs
      Support Irix
      Optionally work without python
      Fixes for ancient versions of GNU make
      avoid makefile override warning
      Really honour NO_PYTHON
      Fix "gmake -j"
      Use Ryan's git-annotate instead of jsannotate
      Warn about invalid refs
      Fix test case for some sed
      imap-send: Add missing #include for macosx
      Remove dependency on a file named "-lz"
      cvsimport: use git-update-ref when updating
      On some platforms, certain headers need to be included before regex.h
      Fix compile with expat, but an old curl version
      diff-options: add --stat (take 2)
      diff-options: add --stat (take 2)
      diff-options: add --patch-with-stat
      pager: do not fork a pager if PAGER is set to empty.

Jon Loeliger:
      Add git-show reference
      Call out the two different uses of git-branch and fix a typo.
      Document the default source of template files.
      Clarify git-rebase example commands.
      Reference git-commit-tree for env vars.
      Fix minor typo.
      Rewrite synopsis to clarify the two primary uses of git-checkout.
      Clarify and expand some hook documentation.
      Removed bogus "<snap>" identifier.
      Added Packing Heursitics IRC writeup.

Jonas Fonseca:
      manpages: insert two missing [verse] markers for multi-line SYNOPSIS
      repo-config: give value_ a sane default so regexec won't segfault
      Add git-annotate(1) and git-blame(1)

Josef Weidendorfer:
      git-mv: fix moves into a subdir from outside

Junio C Hamano:
      "Assume unchanged" git
      "Assume unchanged" git: do not set CE_VALID with --refresh
      ls-files: debugging aid for CE_VALID changes.
      "Assume unchanged" git: --really-refresh fix.
      ls-files: split "show-valid-bit" into a different option.
      "assume unchanged" git: documentation.
      cache_name_compare() compares name and stage, nothing else.
      git-commit: Now --only semantics is the default.
      rebase: allow a hook to refuse rebasing.
      commit: detect misspelled pathspec while making a partial commit.
      rebase: allow rebasing onto different base.
      ls-files --error-unmatch pathspec error reporting fix.
      Detect misspelled pathspec to git-add
      packed objects: minor cleanup
      topo-order: make --date-order optional.
      pack-objects: reuse data from existing packs.
      pack-objects: finishing touches.
      git-repack: allow passing a couple of flags to pack-objects.
      git-tag: -l to list tags (usability).
      Add contrib/README.
      SubmittingPatches: note on whitespaces
      pack-objects: avoid delta chains that are too long.
      Make "empty ident" error message a bit more helpful.
      Delay "empty ident" errors until they really matter.
      Keep Porcelainish from failing by broken ident after making changes.
      fmt-merge-msg: say which branch things were merged into unless 'master'
      Allow git-mv to accept ./ in paths.
      Documentation: fix typo in rev-parse --short option description.
      fmt-merge-msg: do not add excess newline at the end.
      rev-list --objects-edge
      Thin pack - create packfile with missing delta base.
      send-pack --thin: use "thin pack" delta transfer.
      Add git-push --thin.
      Use thin pack transfer in "git fetch".
      fmt-merge-msg: avoid open "-|" list form for Perl 5.6
      rerere: avoid open "-|" list form for Perl 5.6
      send-email: avoid open "-|" list form for Perl 5.6
      svnimport: avoid open "-|" list form for Perl 5.6
      cvsimport: avoid open "-|" list form for Perl 5.6
      Fix fmt-merge-msg counting.
      cherry-pick/revert: error-help message rewording.
      git-mktree: reverse of git-ls-tree.
      rev-list.c: fix non-grammatical comments.
      send-pack: do not give up when remote has insanely large number of refs.
      gitview: ls-remote invocation shellquote safety.
      pack-objects: thin pack micro-optimization.
      pack-objects: use full pathname to help hashing with "thin" pack.
      count-delta: tweak counting of copied source material.
      count-delta: fix counting of copied source.
      Tweak break/merge score to adjust to the new delta generation code.
      pack-objects: allow "thin" packs to exceed depth limits
      rev-list --objects-edge: remove duplicated edge commit output.
      rev-list --objects: use full pathname to help hashing.
      pack-objects: hash basename and direname a bit differently.
      Revert "diff-delta: produce optimal pack data"
      Build and install git-mailinfo.
      rev-list split: minimum fixup.
      apply --whitespace fixes and enhancements.
      apply: squelch excessive errors and --whitespace=error-all
      apply --whitespace: configuration option.
      git-apply --whitespace=nowarn
      Revert "Revert "diff-delta: produce optimal pack data""
      git-apply: war on whitespace -- finishing touches.
      diffcore-break: micro-optimize by avoiding delta between identical files.
      diffcore-rename: split out the delta counting code.
      diffcore-delta: stop using deltifier for packing.
      git-am: --whitespace=x option.
      diff-delta: cull collided hash bucket more aggressively.
      git-log (internal): add approxidate.
      git-log (internal): more options.
      Pretty-print tagger dates.
      war on whitespaces: documentation.
      Documentation: read-tree --aggressive
      Documentation: rev-list --objects-edge
      annotate: resurrect raw timestamps.
      setup_revisions(): handle -n<n> and -<n> internally.
      GIT-VERSION-GEN: squelch unneeded error from "cat version"
      show-branch --topics
      git-commit --amend
      git-commit: make sure we protect against races.
      diffcore-rename: similarity estimator fix.
      show-branch --topics: omit more uninteresting commits.
      count-delta: no need for this anymore.
      diffcore-break: similarity estimator fix.
      diffcore-delta: make change counter to byte oriented again.
      git-commit --amend: allow empty commit.
      Const tightening.
      verify-pack -v: show delta-chain histogram.
      blame: avoid -lm by not using log().
      blame and annotate: show localtime with timezone.
      blame: avoid "diff -u0".
      annotate/blame tests updates.
      annotate-blame test: don't "source", but say "."
      annotate-blame test: add evil merge.
      blame: unbreak "diff -U 0".
      annotate-blame: tests incomplete lines.
      pack-objects: simplify "thin" pack.
      Use #define ARRAY_SIZE(x) (sizeof(x)/sizeof(x[0]))
      refs.c::do_for_each_ref(): Finish error message lines with "\n"
      fsck-objects: Remove --standalone
      Fix t1200 test for breakage caused by removal of full-stop at the end of fast-forward message.
      try_to_simplify_commit(): do not skip inspecting tree change at boundary.
      repack: prune loose objects when -d is given
      git-diff: -p disables rename detection.
      diffcore-rename: somewhat optimized.
      revision traversal: --remove-empty fix.
      revision traversal: --remove-empty fix (take #2).
      diffcore-delta: make the hash a bit denser.
      diffcore-delta: tweak hashbase value.
      cvsimport: honor -i and non -i upon subsequent imports
      fetch: exit non-zero when fast-forward check fails.
      cvsimport: fix reading from rev-parse
      git-pull: run repo-config with dash form.
      unpack_delta_entry(): reduce memory footprint.
      generate-cmdlist: style cleanups.
      revamp git-clone.
      git-merge knows some strategies want to skip trivial merges
      http-fetch: nicer warning for a server with unreliable 404 status
      core.warnambiguousrefs: warns when "name" is used and both "name" branch and tag exists.
      revamp git-clone (take #2).
      get_sha1_basic(): try refs/... and finally refs/remotes/$foo/HEAD
      clone: record the remote primary branch with remotes/$origin/HEAD
      http-push.c: squelch C90 warnings.
      git-apply: do not barf when updating an originally empty file.
      rev-list --timestamp
      git-clone: typofix.
      git-pull: further safety while on tracking branch.
      git-pull: reword "impossible to fast-forward" message.
      sha1_name: warning ambiguous refs.
      sha1_name: make core.warnambiguousrefs the default.
      send-email: Identify author at the top when sending e-mail
      commit-tree: check return value from write_sha1_file()
      built-in diff: minimum tweaks
      true built-in diff: run everything in-core.
      git-push: make --thin pack transfer the default.
      add clean and ignore rules for xdiff/
      GIT 1.3.0 rc1
      rev-list --no-merges: argument parsing fix.
      rev-list: memory usage reduction.
      rev-list --boundary
      revision arguments: ..B means HEAD..B, just like A.. means A..HEAD
      revision.c "..B" syntax: constness fix
      assume unchanged git: diff-index fix.
      tree/diff header cleanup.
      rev-list --boundary: fix re-injecting boundary commits.
      Makefile: many programs now depend on xdiff/lib.a having been built.
      revision: --topo-order and --unpacked
      revision: simplify argument parsing.
      revision: --max-age alone does not need limit_list() anymore.
      git-clone: fix handling of upsteram whose HEAD does not point at master.
      GIT 1.3.0-rc2
      combine-diff: use built-in xdiff.
      combine-diff: refactor built-in xdiff interface.
      combine-diff: move the code to parse hunk-header into common library.
      blame: use built-in xdiff
      date parsing: be friendlier to our European friends.
      blame.c: fix completely broken ancestry traversal.
      Match ofs/cnt types in diff interface.
      blame -S <ancestry-file>
      Add Documentation/technical/pack-format.txt
      Thin pack generation: optimization.
      rev-list --abbrev-commit
      count-delta: match get_delta_hdr_size() changes.
      GIT 1.3.0-rc3
      git-log: match rev-list --abbrev and --abbrev-commit
      diff: fix output of total-rewrite diff.
      diffcore-rename: fix merging back a broken pair.
      log-tree: separate major part of diff-tree.
      git log [diff-tree options]...
      Retire diffcore-pathspec.
      tree-diff: do not assume we use only one pathspec
      git log --full-diff
      Retire git-log.sh
      blame and friends: adjust to multiple pathspec change.
      Retire git-log.sh (take#2)
      diff-* --patch-with-raw
      Retire git-log.sh (take #3)
      combine-diff: do not lose hunks with only deletion at end.
      combine-diff: fix hunks at the end (take #2).
      Retire t5501-old-fetch-and-upload test.
      git-commit: do not muck with commit message when no_edit is set.
      stripspace: make sure not to leave an incomplete line.
      combine-diff: type fix.
      Documentation: add a couple of missing docs.
      Makefile: $(MAKE) check-docs
      git-log: do not output excess blank line between commits
      t3600-rm: skip failed-remove test when we cannot make an unremovable file.
      Fix-up previous expr changes.
      diff --stat: no need to ask funcnames nor context.
      t5500: test fix
      stripspace: incomplete line fix (take #2)
      Retire git-log.sh (take #4)
      git-log <diff-options> <paths> documentation
      "git cmd -h" for shell scripts.
      rev-list --bisect: limit list before bisecting.
      GIT v1.3.0-rc4
      diff-tree: typefix.
      diff --stat: do not do its own three-dashes.
      diff-files --stat: do not dump core with unmerged index.
      reading $GIT_DIR/info/graft - skip comments correctly.
      rev-list --boundary: show boundary commits even when limited otherwise.
      packed_object_info_detail(): check for corrupt packfile.
      diff --stat: make sure to set recursive.
      GIT 1.3.0

Karl Hasselström:
      git-svnimport: -r adds svn revision number to commit messages
      svnimport: Mention -r in usage summary
      svnimport: Convert executable flag
      svnimport: Convert the svn:ignore property
      svnimport: Read author names and emails from a file
      Let git-svnimport's author file use same syntax as git-cvsimport's
      Save username -> Full Name <email at addr.es> map file
      git-svnimport: Don't assume that copied files haven't changed

Keith Packard:
      Provide configurable UI font for gitk

Linus Torvalds:
      Handling large files with GIT
      Handling large files with GIT
      git-merge-tree: generalize the "traverse <n> trees in sync" functionality
      Teach the "git" command to handle some commands internally
      First cut at libifying revlist generation
      Make git diff-generation use a simpler spawn-like interface
      The war on trailing whitespace
      Splitting rev-list into revisions lib, end of beginning.
      git-rev-list libification: rev-list walking
      Introduce trivial new pager.c helper infrastructure
      Tie it all together: "git log"
      Rip out merge-order and make "git log <paths>..." work again.
      get_revision(): do not dig deeper when we know we are at the end.
      git-fmt-merge-msg cleanup
      Fix up diffcore-rename scoring
      diffcore-delta: 64-byte-or-EOL ultrafast replacement.
      diffcore-delta: 64-byte-or-EOL ultrafast replacement (hash fix).
      git-apply: safety fixes
      Use a *real* built-in diff generator
      builtin-diff: \No newline at end of file.
      Fix error handling for nonexistent names
      Move "--parent" parsing into generic revision.c library code
      Make path-limiting be incremental when possible.
      revision: Fix --topo-order and --max-age with reachability limiting.
      Make "--parents" logs also be incremental
      When showing a commit message, do not lose an incomplete line.
      Use less memory in "git log"
      Clean up trailing whitespace when pretty-printing commits
      Support "git cmd --help" syntax

Lukas Sandström:
      git-fetch: print the new and old ref when fast-forwarding

Marco Costalba:
      Add a Documentation/git-tools.txt

Marco Roeland:
      imap-send: cleanup execl() call to use NULL sentinel instead of 0
      git-commit: document --amend
      xdiff/xdiffi.c: fix warnings about possibly uninitialized variables

Mark Hollomon:
      Let merge set the default strategy.

Mark Wooding:
      combine-diff: Honour --full-index.
      combine-diff: Honour -z option correctly.
      Documentation/Makefile: Some `git-*.txt' files aren't manpages.
      gitignore: Ignore some more boring things.
      contrib/emacs/Makefile: Provide tool for byte-compiling files.
      annotate-tests: override VISUAL when running tests.
      xdiff: Show function names in hunk headers.
      gitk: Use git wrapper to run git-ls-remote.
      Shell utilities: Guard against expr' magic tokens.

Martin Langhoff:
      Introducing git-cvsserver -- a CVS emulator for git.
      cvsserver: add notes on how to get a checkout under Eclipse
      cvsserver: Eclipse compat fixes - implement Questionable, alias rlog, add a space after the U
      cvsserver: Eclipse compat - browsing 'modules' (heads in our case) works
      cvsserver: add notes on how to get a checkout under Eclipse
      cvsserver: Eclipse compat fixes - implement Questionable, alias rlog, add a space after the U
      cvsserver: Eclipse compat - browsing 'modules' (heads in our case) works
      cvsserver: Checkout correctly on Eclipse
      annotate: fix -S parameter to take a string
      cvsserver: Eclipse compat -- now "compare with latest from HEAD" works
      cvsserver: checkout faster by sending files in a sensible order
      cvsserver: fix checkouts with -d <somedir>
      cvsserver: checkout faster by sending files in a sensible order
      cvsserver: fix checkouts with -d <somedir>
      cvsserver: nested directory creation fixups for Eclipse clients
      cvsserver: better error messages
      cvsserver: anonymous cvs via pserver support
      cvsserver: updated documentation

Martin Mares:
      gitk: Make error_popup react to Return

Matthias Urlichs:
      cvsimport: Remove master-updating code
      Don't recurse into parents marked uninteresting.

Mike McCormack:
      Allow adding arbitary lines in the mail header generated by format-patch.
      Allow format-patch to attach patches
      Document the --attach flag.
      Describe how to add extra mail header lines in mail generated by git-format-patch.
      Add git-imap-send, derived from isync 1.0.1.
      Avoid a divide by zero if there's no messages to send.
      Avoid a crash if realloc returns a different pointer.
      Add documentation for git-imap-send.

Nick Hengeveld:
      Update http-push functionality
      http-push: fix revision walk
      HTTP slot reuse fixes
      http-push: refactor remote file/directory processing
      http-push: improve remote lock management
      http-push: support for updating remote info/refs
      http-push: cleanup
      Fix broken slot reuse when fetching alternates
      http-push: add support for deleting remote branches
      http-push: don't assume char is signed
      git-ls-remote: send no-cache header when fetching info/refs
      Set HTTP user agent to git/GIT_VERSION
      http-fetch: add optional DAV-based pack list

Nicolas Pitre:
      relax delta selection filtering in pack-objects
      diff-delta: fold two special tests into one plus cleanups
      diff-delta: produce optimal pack data
      diff-delta: big code simplification
      diff-delta: bound hash list length to avoid O(m*n) behavior
      diff-delta: produce optimal pack data
      diff-delta: bound hash list length to avoid O(m*n) behavior
      diff-delta: allow reusing of the reference buffer index
      test-delta needs zlib to compile
      diff-delta: bound hash list length to avoid O(m*n) behavior
      3% tighter packs for free

Olaf Hering:
      allow double click on current HEAD id after git-pull

Paul Jakma:
      Makefile tweaks: Solaris 9+ dont need iconv / move up uname variables

Paul Mackerras:
      gitk: Make "find" on "Files" work again.
      gitk: New improved gitk
      gitk: Fix clicks on arrows on line ends
      gitk: Fix Update menu item
      gitk: Various speed improvements
      gitk: Further speedups
      gitk: Fix a bug in drawing the selected line as a thick line
      gitk: Fix display of diff lines beginning with --- or +++
      gitk: Make commitdata an array rather than a list
      gitk: Don't change cursor at end of layout if find in progress
      gitk: Make downward-pointing arrows end in vertical line segment
      gitk: Improve appearance of first child links
      gitk: Fix two bugs reported by users
      gitk: Use the new --boundary flag to git-rev-list
      gitk: Show diffs for boundary commits
      gitk: Prevent parent link from overwriting commit headline
      gitk: Allow top panes to scroll horizontally with mouse button 2
      gitk: Better workaround for arrows on diagonal line segments
      gitk: replace parent and children arrays with lists
      gitk: Add a help menu item to display key bindings
      gitk: Fix incorrect invocation of getmergediffline
      gitk: Fix bug caused by missing commitlisted elements

Pavel Roskin:
      gitview: Select the text color based on whether the entry in highlighted. Use standard font.
      Add git-clean command
      gitk: Fix searching for filenames in gitk

Peter Eriksen:
      Use blob_, commit_, tag_, and tree_type throughout.
      Replace xmalloc+memset(0) with xcalloc.

Petr Baudis:
      Properly git-bisect reset after bisecting from non-master head
      Optionally do not list empty directories in git-ls-files --others
      Support for pickaxe matching regular expressions
      Improve the git-diff-tree -c/-cc documentation
      Document --patch-with-raw
      Separate the raw diff and patch with a newline

Randal L. Schwartz:
      fix imap-send for OSX

Rene Scharfe:
      tar-tree: Use SHA1 of root tree for the basedir
      tar-tree: Introduce write_entry()
      tar-tree: Use write_entry() to write the archive contents
      tar-tree: Remove obsolete code
      tar-tree: Use the prefix field of a tar header
      Remove useless pointer update
      Fix sparse warnings about usage of 0 instead of NULL
      Fix sparse warnings about non-ANSI function prototypes

Rutger Nijlunsing:
      gitk: add key bindings for selecting first and last commit

Ryan Anderson:
      send-email: Add some options for controlling how addresses are automatically added to the cc: list.
      send-email: Add --cc
      Add git-annotate, a tool for assigning blame.
      annotate: Handle dirty state and arbitrary revisions.
      annotate: Convert all -| calls to use a helper open_pipe().
      annotate: Use qx{} for pipes on activestate.
      annotate: handle \No newline at end of file.
      annotate: Add a basic set of test cases.
      annotate: Support annotation of files on other revisions.

Sean Estabrooks:
      annotate.perl triggers rpm bug

Serge E. Hallyn:
      cleanups: Fix potential bugs in connect.c
      cleanups: Remove unused vars from combine-diff.c
      cleanups: Remove impossible case in quote.c
      cleanups: prevent leak of two strduped strings in config.c
      cleanups: remove unused variable from exec_cmd.c

Shawn Pearce:
      git ls files recursively show ignored files
      Add missing programs to ignore list
      Darwin: Ignore missing /sw/lib
      Teach git-checkout-index to read filenames from stdin.
      Prevent --index-info from ignoring -z.
      Add --temp and --stage=all options to checkout-index.
      Add missing semicolon to sed command.

Stephen Rothwell:
      gitk: allow goto heads

Timo Hirvonen:
      Use setenv(), fix warnings

Tony Luck:
      fix warning from pack-objects.c
      Re-fix compilation warnings.
      annotate should number lines starting with 1
      fix field width/precision warnings in blame.c

Yann Dirson:
      Allow empty lines in info/grafts

Yasushi SHOJI:
      Be verbose when !initial commit
      Make git-clone to take long double-dashed origin option (--origin)
      git-clone: exit early if repo isn't specified


More information about the git-announce mailing list