git

Git 1.7.6.2

I’ve tagged the latest maintenance release Git 1.7.6.2 but unfortunately
the tarballs are not available at the usual places. The release can be
fetched from any of the following repositories, at the tip of maint
branch.

git://repo.or.cz/alt-git.git
https://github.com/gitster/git
https://code.google.com/p/git-core/
git://git.sourceforge.jp/gitroot/git-core/git.git
git://git-core.git.sourceforge.net/gitroot/git-core/git-core

This is primarily to fix “git push –quiet” breakage in 1.7.6.1.

Changes since v1.7.6.1 are as follows:

Junio C Hamano (3):
      whitespace: have SP on both sides of an assignment "="
      Revert "Merge branch 'cb/maint-quiet-push' into maint"
      Git 1.7.6.2

Pang Yan Han (1):
      update-ref: whitespace fix

Thomas Rast (1):
      Documentation: clarify effects of -- <path> arguments

GitTogether 2011 – Oct 24th/25th

Google is once again hosting a 2 day user/developer conference for Git
users and developers to get together, share experiences, and hack on
interesting features. This event will be held October 24th and 25th at
Google’s headquarters in Mountain View, CA.

More details along with sign-up (as space is limited) can be found on the wiki:

https://git.wiki.kernel.org/index.php/GitTogether11

Shawn.

Git User’s Survey 2011

Hello all,

We would like to ask you a few questions about your use of the Git
version control system. This survey is mainly to understand who is
using Git, how and why.

The results will be published to the Git wiki on the GitSurvey2011
page (https://git.wiki.kernel.org/index.php/GitSurvey2011) and
discussed on the git mailing list.

The survey would be open from 5 September till 3 October 2011.

Please devote a few minutes of your time to fill this simple
questionnaire, it will help a lot the git community to understand your
needs, what you like of Git, and of course what you don’t like of it.

The survey can be found here:
http://tinyurl.com/GitSurvey2011
https://www.survs.com/survey/VCAGZA8CT5

There is also alternate version which does not require cookies,
but it doesn’t allow one to go back to response and edit it.
https://www.survs.com/survey/MRRGT8OEFV

P.S. At request I can open a separate channel in survey, with a separate
survey URL, so that responses from particular site or organization could
be separated out.

Please send me a email with name of channel, and I will return with
a separate survey URL to use.

Git Development Community

unofficial git-announce mailing list

Good evening all,

As some people may be aware, some time ago now I created some RSS feeds
by filtering the Git mailing lists (http://gitrss.q42.co.uk/) to make
the task of following only certain types of information from this list
easier.

I have now extended this tool to include a git-announce mailing list.
This is an announce-only style list that receives all the same mails
that are pulled into the announce RSS feed.

The website for the list can be found here:

http://lists.q42.co.uk/listinfo/git-announce

It’s a mailman hosted list, so the normal email based interaction works
too. So you can also subscribe by mailing:

git-announce-subscribe@q42.co.uk

I primarily created this for my own use – but since it is something
that has been asked about in the past, I though I would share it.

Comments/suggestions welcome (though I don’t promise to change anything
;).

Please also let me know if you have any objections to the existence of
this list (I do promise to respond to these).

Julian

tig-0.18

Hello,

This release brings several diff and blame view improvements, as well as
a handful of bug fixes. It also marks that the tig repository now sports
1001 commits. The full list of noteable changes are listed below. Enjoy!

What is tig?

Tig is an ncurses-based text-mode interface for git. It functions mainly
as a git repository browser, but can also assist in staging changes for
commit at chunk level and act as a pager for output from various git
commands.

Release notes

Incompatibilities:

  • Remove support for the deprecated TIG_{MAIN,DIFF,LOG,TREE,BLOB}_CMD
    environment variables.

Improvements:

  • Pressing enter on diff stat file lines will jump to file’s diff.

  • Naïvely color blame IDs to distinguish lines.

  • Document palette color options used for revision graph and blame IDs.

  • Add support for blaming diff lines.

  • Add diff-context option and bindings to increase the diff context in
    the diff and stage view.

  • (GH-6) Make blame configurable via extra options passed from the command
    line and blame-options setting from ~/.tigrc. For example:

    set blame-options = -C -C -C

Bug fixes:

  • Expand browsing state variables for prompt. (LP #694780, Debian #635546)

  • Fix segfault when sorting the branch view by author.

  • Expand %(directory) to . for the root directory. (GH-3)

  • Accept utf-8 for the line-graphics option as indicated in the docs.

  • Use erasechar() to check for the correct backspace character.

Change summary

The diffstat and log summary for changes made in this release.

Makefile            |    7 +-
NEWS                |   31 +-
VERSION             |    2 +-
contrib/aspell.dict |    9 +-
io.c                |    7 +
manual.txt          |    2 +
tig.1.txt           |    7 +-
tig.c               | 1614 +++++++++++++++++++++++++++----------------
tig.h               |   27 +-
tigrc.5.txt         |   76 ++-
10 files changed, 1124 insertions(+), 658 deletions(-)
58  Jonas Fonseca
 1  Ozan Çağlayan
 1  Pierre Habouzit
 2  Sebastian Harl
 3  Sven Wegener
 1  Tony Miller
 1  Von Fugal

Jonas Fonseca

Git 1.7.6.1

The latest maintenance release Git 1.7.6.1 is available at the
usual places:

http://www.kernel.org/pub/software/scm/git/
git-1.7.6.1.tar.{gz,bz2}                      (source tarball)
git-htmldocs-1.7.6.1.tar.{gz,bz2}             (preformatted docs)
git-manpages-1.7.6.1.tar.{gz,bz2}             (preformatted docs)

The RPM binary packages for a few architectures are found in:

RPMS/$arch/git-*-1.7.6.1-1.fc13.$arch.rpm     (RPM)

Git v1.7.6.1 Release Notes

Fixes since v1.7.6

  • Various codepaths that invoked zlib deflate/inflate assumed that these
    functions can compress or uncompress more than 4GB data in one call on
    platforms with 64-bit long, which has been corrected.

  • “git unexecutable” reported that “unexecutable” was not found, even
    though the actual error was that “unexecutable” was found but did
    not have a proper she-bang line to be executed.

  • Error exits from $PAGER were silently ignored.

  • “git checkout -b <branch>” was confused when attempting to create a
    branch whose name ends with “-g” followed by hexadecimal digits,
    and refused to work.

  • “git checkout -b <branch>” sometimes wrote a bogus reflog entry,
    causing later “git checkout -” to fail.

  • “git diff –cc” learned to correctly ignore binary files.

  • “git diff -c/–cc” mishandled a deletion that resolves a conflict, and
    looked in the working tree instead.

  • “git fast-export” forgot to quote pathnames with unsafe characters
    in its output.

  • “git fetch” over smart-http transport used to abort when the
    repository was updated between the initial connection and the
    subsequent object transfer.

  • “git fetch” did not recurse into submodules in subdirectories.

  • “git ls-tree” did not error out when asked to show a corrupt tree.

  • “git pull” without any argument left an extra whitespace after the
    command name in its reflog.

  • “git push –quiet” was not really quiet.

  • “git rebase -i -p” incorrectly dropped commits from side branches.

  • “git reset [<commit>] paths…” did not reset the index entry correctly
    for unmerged paths.

  • “git submodule add” did not allow a relative repository path when
    the superproject did not have any default remote url.

  • “git submodule foreach” failed to correctly give the standard input to
    the user-supplied command it invoked.

  • submodules that the user has never showed interest in by running
    “git submodule init” was incorrectly marked as interesting by “git
    submodule sync”.

  • “git submodule update –quiet” was not really quiet.

  • “git tag -l <glob>…” did not take multiple glob patterns from the
    command line.

Changes since v1.7.6 are as follows:

Alex Neronskiy (2):
      Fix documentation of fetch-pack that implies that the client can disconnect after sending wants.
      Document the underlying protocol used by shallow repositories and --depth commands.

Andrew Wong (1):
      rebase -i -p: include non-first-parent commits in todo list

Bert Wesarg (1):
      Documentation: clearly specify what refs are honored by core.logAllRefUpdates

Brandon Casey (2):
      t/t7407: demonstrate that the command called by 'submodule foreach' loses stdin
      git-submodule.sh: preserve stdin for the command spawned by foreach

Brian Harring (1):
      get_indexed_object can return NULL if nothing is in that slot; check for it

Carlos Martín Nieto (1):
      Documentation: clarify the invalidated tree entry format

Clemens Buchacher (3):
      error_routine: use parent's stderr if exec fails
      propagate --quiet to send-pack/receive-pack
      notice error exit from pager

Dmitry Ivankov (1):
      doc/fast-import: clarify notemodify command

Emilio G. Cota (2):
      Documentation: ignore *.pdf files
      Documentation/Makefile: add *.pdf to `clean' target

Erik Faye-Lund (1):
      connect: correctly number ipv6 network adapter

Fredrik Kuivinen (1):
      Makefile: Track changes to LDFLAGS and relink when necessary

Heiko Voigt (2):
      add gitignore entry to description about how to write a builtin
      add technical documentation about ref iteration

Jack Nagel (1):
      Documentation: minor grammatical fix in rev-list-options.txt

Jakub Narebski (2):
      gitweb: Serve text/* 'blob_plain' as text/plain with $prevent_xss
      gitweb: Serve */*+xml 'blob_plain' as text/plain with $prevent_xss

Jeff King (10):
      combine-diff: split header printing into its own function
      combine-diff: calculate mode_differs earlier
      combine-diff: handle binary files as binary
      refactor get_textconv to not require diff_filespec
      combine-diff: respect textconv attributes
      tag: accept multiple patterns for --list
      docs: document --textconv diff option
      t7400: fix bogus test failure with symlinked trash
      fast-export: quote paths in output
      am: refresh the index at start and --resolved

Jens Lehmann (7):
      submodule add: test failure when url is not configured in superproject
      submodule add: allow relative repository path even when no url is set
      submodule add: clean up duplicated code
      fetch: Also fetch submodules in subdirectories in on-demand mode
      submodule add: always initialize .git/config entry
      tests: print failed test numbers at the end of the test run
      submodule: update and add must honor --quiet flag

Johannes Schindelin (1):
      get_pwd_cwd(): Do not trust st_dev/st_ino blindly

Jon Seymour (2):
      Add a test to check that git ls-tree sets non-zero exit code on error.
      Ensure git ls-tree exits with a non-zero exit code if read_tree_recursive fails.

Julian Phillips (1):
      remote-curl: Add a format check to parsing of info/refs

Junio C Hamano (29):
      diff-index --quiet: learn the "stop feeding the backend early" logic
      checkout -b &lt;name&gt;: correctly detect existing branch
      sha1_file.c: "legacy" is really the current format
      zlib wrapper: refactor error message formatter
      zlib: wrap remaining calls to direct inflate/inflateEnd
      zlib: wrap inflateInit2 used to accept only for gzip format
      zlib: wrap deflate side of the API
      zlib: wrap deflateBound() too
      zlib: zlib can only process 4GB at a time
      zlib: allow feeding more than 4GB in one go
      t/gitweb-lib.sh: skip gitweb tests when perl dependencies are not met
      cygwin: trust executable bit by default
      git-remote.txt: avoid sounding as if loose refs are the only ones in the world
      check-ref-format doc: de-emphasize the implementation detail of a ref
      git.txt: de-emphasize the implementation detail of a ref
      glossary: update description of "tag"
      glossary: update description of head and ref
      glossary: clarify description of HEAD
      submodule sync: do not auto-vivify uninteresting submodule
      "branch -d" can remove more than one branches
      test: skip clean-up when running under --immediate mode
      checkout: do not write bogus reflog entry out
      reset [&lt;commit&gt;] paths...: do not mishandle unmerged paths
      diff -c/--cc: do not mistake "resolved as deletion" as "use working tree"
      receive-pack: do not overstep command line argument array
      helping smart-http/stateless-rpc fetch race
      Prepare for 1.7.6.1
      Update draft release notes for 1.7.6.1
      Git 1.7.6.1

Martin von Zweigbergk (2):
      Documentation: use [verse] for SYNOPSIS sections
      rebase: clarify "restore the original branch"

Michael Haggerty (6):
      git-svn: Demonstrate a bug with root commits in mergeinfo ranges
      git-svn: Disambiguate rev-list arguments to improve error message
      git-svn: Correctly handle root commits in mergeinfo ranges
      gitattributes: Clarify discussion of attribute macros
      gitattributes: Reword "attribute macro" to "macro attribute"
      Do not use C++-style comments

Michael Schubert (1):
      help_unknown_cmd: do not propose an "unknown" cmd

Michael Witten (1):
      filter-branch: Export variable `workdir' for --commit-filter

Namhyung Kim (1):
      git-remote.txt: fix wrong remote refspec

Nguyễn Thái Ngọc Duy (3):
      Break down no-lstat() condition checks in verify_uptodate()
      checkout-index: remove obsolete comment
      fetch-pack: check for valid commit from server

Ori Avtalion (1):
      pull: remove extra space from reflog message

Pavan Kumar Sunkara (1):
      git-config: Remove extra whitespaces

Peter Collingbourne (1):
      Documentation: git-filter-branch honors replacement refs

libgit2 v0.14.0 “watermelon wheat”

Hello everyone,

this minor release of libgit2 comes very feature packed. Exciting.

The release has been tagged at:

https://github.com/libgit2/libgit2/tree/v0.14.0

A dist package can be found at:

https://github.com/downloads/libgit2/libgit2/libgit2-0.14.0.tar.gz

Updated documentation can be found at:

http://libgit2.github.com/libgit2/

The full change log follows after the message.

Thanks as always,
Vicent

libgit2 v0.14.0, “watermelon wheat”

This a very packed minor release. The usual guilty parties have been
working harder than usual during the holidays — thanks to everyone
involved!

As always, the updated API docs can be found at:

http://libgit2.github.com/libgit2/

NEW FEATURES:

  • New OS abstraction layer. This should make all POSIX calls much
    more reliable under Windows.

  • Much faster writes of simple objects (commits, tags, trees) to the
    ODB via in-memory buffering and direct writes, instead of streaming.

  • Unified & simplified API for object creation. All the create
    methods now take Objects instead of OIDs to ensure that corrupted
    (dangling) objects cannot be created on the repository.

  • Fully Git-compilant reference renaming (finally!), with
    the already existing git_reference_rename.

  • Deletion of config keys with git_config_delete

  • Greatly improved index performance when adding new entries

  • Reflog support with the git_reflog API

  • Remotes support with the git_remote API

  • First parts of the Networking API, including refspecs and
    the transport abstraction layer. (Note that there are no actual
    transports implemented yet)

  • Status support with the git_status_foreach and git_status_file
    functions.

  • Tons of bugfixes, including the outstanding bug #127 (wrong sort
    ordering when querying tree entries).

KNOWN ISSUES:

  • The reference renaming code leaks memory. This is being worked on
    as part of a reference handling overhaul.

  • The tree-from-index builder has abysmal performance because it
    doesn’t handle the Treecache extension yet. This is also being
    worked on.

FULL API CHANGELOG:

  • removed, * modified, + added

  • git_commit_create_o

  • git_commit_create_ov

  • git_reference_create_oid_f

  • git_reference_create_symbolic_f

  • git_reference_rename_f

  • git_tag_create_f

  • git_tag_create_fo

  • git_tag_create_o

    • git_commit_create

    • git_commit_create_v

    • git_config_foreach

    • git_reference_create_oid

    • git_reference_create_symbolic

    • git_reference_rename

    • git_tag_create

    • git_tag_create_frombuffer

      + git_clearerror
      + git_config_delete
      + git_index_uniq
      + git_odb_hashfile
      + git_oid_fromstrn
      + git_reflog_entry_byindex
      + git_reflog_entry_committer
      + git_reflog_entry_msg
      + git_reflog_entry_oidnew
      + git_reflog_entry_oidold
      + git_reflog_entrycount
      + git_reflog_free
      + git_reflog_read
      + git_reflog_write
      + git_refspec_src_match
      + git_refspec_transform
      + git_remote_connect
      + git_remote_fetchspec
      + git_remote_free
      + git_remote_get
      + git_remote_ls
      + git_remote_name
      + git_remote_url
      + git_repository_head_detached
      + git_repository_head_orphan
      + git_status_file
      + git_status_foreach
      + git_tag_create_lightweight
      + git_tag_list_match
      + git_transport_new

Git 1.7.6

The latest feature release Git 1.7.6 is available at the usual
places:

http://www.kernel.org/pub/software/scm/git/
git-1.7.6.tar.{gz,bz2}                        (source tarball)
git-htmldocs-1.7.6.tar.{gz,bz2}               (preformatted docs)
git-manpages-1.7.6.tar.{gz,bz2}               (preformatted docs)

The RPM binary packages for a few architectures are found in:

RPMS/$arch/git-*-1.7.6-1.fc13.$arch.rpm       (RPM)

Git v1.7.6 Release Notes

Updates since v1.7.5

  • Various git-svn updates.

  • Updates the way content tags are handled in gitweb. Also adds
    a UI to choose common timezone for displaying the dates.

  • Similar to branch names, tagnames that begin with “-” are now
    disallowed.

  • Clean-up of the C part of i18n (but not l10n—please wait)
    continues.

  • The scripting part of the codebase is getting prepared for i18n/l10n.

  • Pushing and pulling from a repository with large number of refs that
    point to identical commits are optimized by not listing the same commit
    during the common ancestor negotiation exchange with the other side.

  • Adding a file larger than core.bigfilethreshold (defaults to 1/2 Gig)
    using “git add” will send the contents straight to a packfile without
    having to hold it and its compressed representation both at the same
    time in memory.

  • Processes spawned by “[alias] <name> = !process” in the configuration
    can inspect GIT_PREFIX environment variable to learn where in the
    working tree the original command was invoked.

  • A magic pathspec “:/” tells a command that limits its operation to
    the current directory when ran from a subdirectory to work on the
    entire working tree. In general, “:/path/to/file” would be relative
    to the root of the working tree hierarchy.

    After "git reset --hard; edit Makefile; cd t/", "git add -u" would
    be a no-op, but "git add -u :/" would add the updated contents of
    the Makefile at the top level. If you want to name a path in the
    current subdirectory whose unusual name begins with ":/", you can
    name it by "./:/that/path" or by "\:/that/path".
  • “git blame” learned “–abbrev[=<n>]” option to control the minimum
    number of hexdigits shown for commit object names.

  • “git blame” learned “–line-porcelain” that is less efficient but is
    easier to parse.

  • Aborting “git commit –interactive” discards updates to the index
    made during the interactive session.

  • “git commit” learned a “–patch” option to directly jump to the
    per-hunk selection UI of the interactive mode.

  • “git diff” and its family of commands learned –dirstat=0 to show
    directories that contribute less than 0.1% of changes.

  • “git diff” and its family of commands learned –dirstat=lines mode to
    assess damage to the directory based on number of lines in the patch
    output, not based on the similarity numbers.

  • “git format-patch” learned “–quiet” option to suppress the output of
    the names of generated files.

  • “git format-patch” quotes people’s names when it has RFC822 special
    characters in it, e.g. “Junio C. Hamano” <jch@example.com>. Earlier
    it was up to the user to do this when using its output.

  • “git format-patch” can take an empty –subject-prefix now.

  • “git grep” learned the “-P” option to take pcre regular expressions.

  • “git log” and friends learned a new “–notes” option to replace the
    “–show-notes” option. Unlike “–show-notes”, “–notes=<ref>” does
    not imply showing the default notes.

  • They also learned a log.abbrevCommit configuration variable to augment
    the –abbrev-commit command line option.

  • “git ls-remote” learned “–exit-code” option to consider it a
    different kind of error when no remote ref to be shown.

  • “git merge” learned “-” as a short-hand for “the previous branch”, just
    like the way “git checkout -” works.

  • “git merge” uses “merge.ff” configuration variable to decide to always
    create a merge commit (i.e. –no-ff, aka merge.ff=no), refuse to create
    a merge commit (i.e. –ff-only, aka merge.ff=only). Setting merge.ff=yes
    (or not setting it at all) restores the default behaviour of allowing
    fast-forward to happen when possible.

  • p4-import (from contrib) learned a new option –preserve-user.

  • “git read-tree -m” learned “–dry-run” option that reports if a merge
    would fail without touching the index nor the working tree.

  • “git rebase” that does not specify on top of which branch to rebase

  • “git rebase” finished either normally or with –abort did not
    update the reflog for HEAD to record the event to come back to
    where it started from.

  • “git remote add -t only-this-branch –mirror=fetch” is now allowed. Earlier
    a fetch-mode mirror meant mirror everything, but now it only means refs are
    not renamed.

  • “git rev-list –count” used with “–cherry-mark” counts the cherry-picked
    commits separately, producing more a useful output.

  • “git submodule update” learned “–force” option to get rid of local
    changes in submodules and replace them with the up-to-date version.

  • “git status” and friends ignore .gitmodules file while the file is
    still in a conflicted state during a merge, to avoid using information
    that is not final and possibly corrupt with conflict markers.

Also contains various documentation updates and minor miscellaneous
changes.

Fixes since v1.7.5

Unless otherwise noted, all the fixes in 1.7.5.X maintenance track are
included in this release.

  • “git config” used to choke with an insanely long line.
    (merge ef/maint-strbuf-init later)

  • “git diff –quiet” did not work well with –diff-filter.
    (merge jk/diff-not-so-quick later)

  • “git status -z” did not default to –porcelain output format.
    (merge bc/maint-status-z-to-use-porcelain later)

Changes since v1.7.5 are as follows:

Alex Riesen (2):
      clean: unreadable directory may still be rmdir-able if it is empty
      t3703: skip more tests using colons in file names on Windows

Andreas Schwab (1):
      builtin/gc.c: add missing newline in message

Andrew Wong (1):
      git-rebase--interactive.sh: preserve-merges fails on merges created with no-ff

Boris Faure (1):
      Do not strip empty lines / trailing spaces from a commit message template

Brandon Casey (5):
      Documentation/technical/api-diff.txt: correct name of diff_unmerge()
      git-submodule.sh: separate parens by a space to avoid confusing some shells
      t7508: demonstrate status's failure to use --porcelain format with -z
      builtin/commit.c: set status_format _after_ option parsing
      sh-i18n--envsubst.c: do not #include getopt.h

Brian Gernhardt (1):
      t/annotate-tests: Use echo &amp; cat instead of sed

Carlos Martín Nieto (3):
      format-patch: don't pass on the --quiet flag
      format-patch: document --quiet option
      log: convert to parse-options

Christof Krüger (1):
      Documentation: git diff --check respects core.whitespace

Ciaran Jessup (1):
      Pass empty file to p4merge where no base is suitable.

Conrad Irwin (5):
      Use a temporary index for git commit --interactive
      Allow git commit --interactive with paths
      Add support for -p/--patch to git-commit
      Add commit to list of config.singlekey commands
      Test atomic git-commit --interactive

Csaba Henk (1):
      rebase: create HEAD reflog entry when aborting

Dan McGee (6):
      Share color list between graph and show-branch
      stash: add two more tests for --no-keep-index
      stash: ensure --no-keep-index and --patch can be used in any order
      http: make curl callbacks match contracts from curl header
      http-push: use const for strings in signatures
      http-push: refactor curl_easy_setup madness

Dima Sharov (1):
      shell: add missing initialization of argv0_path

Dmitry Ivankov (1):
      Fix typo: existant-&gt;existent

Elijah Newren (3):
      t6022: New test checking for unnecessary updates of renamed+modified files
      t6022: New test checking for unnecessary updates of files in D/F conflicts
      merge-recursive: When we detect we can skip an update, actually skip it

Erik Faye-Lund (2):
      strbuf: make sure buffer is zero-terminated
      config: support values longer than 1023 bytes

Felipe Contreras (1):
      git-completion: fix regression in zsh support

Fraser Tweedale (1):
      gitweb: supply '-n' to gzip for identical output

Guy Rouillier (1):
      Look for password in both CVS and CVSNT password files.

Heiko Voigt (1):
      test that git status works with merge conflict in, .gitmodules

Ingo Molnar (1):
      hashcmp(): inline memcmp() by hand to optimize

Jakub Narebski (20):
      gitweb: Restructure projects list generation
      gitweb: Change the way "content tags" ('ctags') are handled
      gitweb: Mark matched 'ctag' / contents tag (?by_tag=foo)
      git-instaweb: Simplify build dependency on gitweb
      Remove gitweb/gitweb.cgi and other legacy targets from main Makefile
      gitweb: Split JavaScript for maintability, combining on build
      gitweb.js: Update and improve comments in JavaScript files
      gitweb.js: Provide default values for padding in padLeftStr and padLeft
      gitweb.js: Extract and improve datetime handling
      gitweb.js: Introduce code to handle cookies from JavaScript
      gitweb.js: Provide getElementsByClassName method (if it not exists)
      gitweb: Refactor generating of long dates into format_timestamp_html
      gitweb: Unify the way long timestamp is displayed
      gitweb: Make JavaScript ability to adjust timezones configurable
      gitweb: Refactor reading and parsing config file into read_config_file
      gitweb: Move information about installation from README to INSTALL
      gitweb: Describe CSSMIN and JSMIN in gitweb/INSTALL
      gitweb: Move "Requirements" up in gitweb/INSTALL
      gitweb: Fix usability of $prevent_xss
      gitweb: 'pickaxe' and 'grep' features requires 'search' to be enabled

Jay Soffian (2):
      "git log -h": typofix misspelled 'suppress'
      Add log.abbrevCommit config variable

Jeff King (51):
      notes: make expand_notes_ref globally accessible
      revision.c: refactor notes ref expansion
      notes: refactor display notes extra refs field
      notes: refactor display notes default handling
      revision.c: support --notes command-line option
      revision.c: make --no-notes reset --notes list
      stash: fix accidental apply of non-existent stashes
      stash: drop dirty worktree check on apply
      upload-pack: start pack-objects before async rev-list
      format-patch: wrap email addresses after long names
      pretty: quote rfc822 specials in email addresses
      add tests for merge-index / merge-one-file
      merge-one-file: fix broken merges with alternate work trees
      send-pack: unbreak push over stateless rpc
      add tests for various blame formats
      blame: refactor porcelain output
      blame: add --line-porcelain output format
      t7501.8: feed a meaningful command
      cherry-pick: handle root commits with external strategies
      revert: allow reverting a root commit
      t3503: test cherry picking and reverting root commits
      connect: treat generic proxy processes like ssh processes
      connect: let callers know if connection is a socket
      send-pack: avoid deadlock on git:// push with failed pack-objects
      test core.gitproxy configuration
      fetch: avoid repeated commits in mark_complete
      Makefile: sort TEST_PROGRAMS list
      refactor refs_from_alternate_cb to allow passing extra data
      bisect: refactor sha1_array into a generic sha1 list
      receive-pack: eliminate duplicate .have refs
      doc: discuss textconv versus external diff drivers
      config: make environment parsing routines static
      git_config: don't peek at global config_parameters
      config: always parse GIT_CONFIG_PARAMETERS during git_config
      read_gitfile_gently: use ssize_t to hold read result
      remote: allow "-t" with fetch mirrors
      read_in_full: always report errors
      t: test subject handling in format-patch / am pipeline
      mailinfo: always clean up rfc822 header folding
      pretty: add pp_commit_easy function for simple callers
      clean up calling conventions for pretty.c functions
      format-patch: preserve subject newlines with -k
      docs: minor grammar fixes to git-status
      docs: update status --porcelain format
      docs: make sure literal "-&gt;" isn't converted to arrow
      docs: fix some antique example output
      rebase: write a reflog entry when finishing
      format-patch: make zero-length subject prefixes prettier
      diff_tree: disable QUICK optimization with diff filter
      t/Makefile: pass test opts to valgrind target properly
      tests: link shell libraries into valgrind directory

Jens Lehmann (3):
      Submodules: Don't parse .gitmodules when it contains, merge conflicts
      unpack-trees: add the dry_run flag to unpack_trees_options
      Teach read-tree the -n|--dry-run option

Jim Meyering (9):
      diffcore-rename.c: avoid set-but-not-used warning
      Documentation/git-fsck.txt: fix typo: unreadable -&gt; unreachable
      do not read beyond end of malloc'd buffer
      rerere.c: diagnose a corrupt MERGE_RR when hitting EOF between TAB and ''
      plug a DIR buffer leak in rerere.c
      remove tests of always-false condition
      diffcore-rename.c: avoid set-but-not-used warning
      fetch: do not leak a refspec
      plug a few coverity-spotted leaks

Johan Herland (15):
      log/pretty-options: Document --[no-]notes and deprecate old notes options
      Make "git notes add" more user-friendly when there are existing notes
      --dirstat: Describe non-obvious differences relative to --stat or regular diff
      --dirstat-by-file: Make it faster and more correct
      Teach --dirstat not to completely ignore rearranged lines within a file
      --dirstat: In case of renames, use target filename instead of source filename
      Add several testcases for --dirstat and friends
      Make --dirstat=0 output directories that contribute &lt; 0.1% of changes
      Refactor --dirstat parsing; deprecate --cumulative and --dirstat-by-file
      Add config variable for specifying default --dirstat behavior
      Allow specifying --dirstat cut-off percentage as a floating point number
      New --dirstat=lines mode, doing dirstat analysis based on diffstat
      Improve error handling when parsing dirstat parameters
      Mark dirstat error messages for translation
      t5400: Fix a couple of typos

Johannes Sixt (6):
      Documentation/format-patch: suggest Toggle Word Wrap add-on for Thunderbird
      send-pack: avoid deadlock when pack-object dies early
      Honor $(prefix) set in config.mak* when defining ETC_GIT*
      t3703: Skip tests using directory name ":" on Windows
      Tweak t3102-ls-tree-wildcards to run on Windows
      Windows: add a wrapper for the shutdown() system call

John 'Warthog9' Hawley (2):
      gitweb: JavaScript ability to adjust time based on timezone
      gitweb.js: Add UI for selecting common timezone to display dates

Jon Seymour (2):
      stash: fix false positive in the invalid ref test.
      git: add --info-path and --man-path options

Jonathan Nieder (28):
      Revert "t0081 (line-buffer): add buffering tests"
      Restructure documentation for git-merge-base.
      Documentation: describe the format of messages with inline patches
      Documentation: explain how to check for patch corruption
      Documentation: hints for sending patches inline with Thunderbird
      Documentation: publicize KMail hints for sending patches inline
      Documentation: publicize hints for sending patches with GMail
      tests: check error message from run_command
      run-command: handle short writes and EINTR in die_child
      revisions: split out handle_revision_pseudo_opt function
      revisions: allow --glob and friends in parse_options-enabled commands
      Documentation: clarify meaning of --html-path, --man-path, and --info-path
      tests: eliminate unnecessary setup test assertions
      tests: teach verify_parents to check for extra parents
      tests: check git does not barf on merge.ff values for future versions of git
      completion: move private shopt shim for zsh to __git_ namespace
      add, merge, diff: do not use strcasecmp to compare config variable names
      provide a copy of the LGPLv2.1
      t4018 (funcname patterns): make .gitattributes state easier to track
      t4018 (funcname patterns): make configuration easier to track
      t4018 (funcname patterns): minor cleanups
      userdiff/perl: anchor "sub" and "package" patterns on the left
      userdiff/perl: match full line of POD headers
      userdiff/perl: catch sub with brace on second line
      tests: make test_expect_code quieter on success
      userdiff/perl: tighten BEGIN/END block pattern to reject here-doc delimiters
      Documentation: do not misinterpret refspecs as bold text
      gitweb: do not misparse nonnumeric content tag files that contain a digit

Jonathon Mah (1):
      mergetool: Teach about submodules

Josh Stone (1):
      blame: tolerate bogus e-mail addresses a bit better

João Britto (1):
      Remove duplicated "is a"

Junio C Hamano (112):
      merge-recursive: tweak magic band-aid
      builtin/diff.c: remove duplicated call to diff_result_code()
      diffcore-rename: refactor "too many candidates" logic
      diffcore-rename: record filepair for rename src
      diffcore-rename: fall back to -C when -C -C busts the rename limit
      git diff -D: omit the preimage of deletes
      pathspec: rename per-item field has_wildcard to use_wildcard
      Teach core.bigfilethreashold to pack-objects
      magic pathspec: add tentative ":/path/from/top/level" pathspec support
      merge: allow "-" as a short-hand for "previous branch"
      magic pathspec: futureproof shorthand form
      magic pathspec: add ":(icase)path" to match case insensitively
      i18n: do not overuse C_LOCALE_OUTPUT
      i18n: .git file is not a human readable message (t5601)
      i18n: use test_i18ncmp in t1200 and t2200
      i18n: do not overuse C_LOCALE_OUTPUT (grep)
      i18n: use test_i18ngrep in lib-httpd and t2019
      i18n: use test_i18ngrep in t2020, t2204, t3030, and t3200
      i18n: use test_i18ncmp and test_i18ngrep in t3203, t3501 and t3507
      i18n: use test_i18ncmp and test_i18ngrep in t3700, t4001 and t4014
      i18n: use test_i18ncmp and test_i18ngrep in t5541, t6040, t6120, t7004, t7012 and t7060
      i18n: use test_i18ncmp and test_i18ngrep in t7102 and t7110
      i18n: use test_i18ngrep in t7201
      i18n: use test_i18ncmp in t7500
      i18n: use test_i18ngrep in t7501
      i18n: use test_i18ngrep and test_i18ncmp in t7502
      i18n: use test_i18ngrep in t7506
      i18n: use test_i18n{grep,cmp} in t7508
      i18n: use test_i18n{cmp,grep} in t7600, t7607, t7611 and t7811
      test: use $_z40 from test-lib
      diff.c: return filepair from diff_unmerge()
      diff: remove often unused parameters from diff_unmerge()
      diff-files: show unmerged entries correctly
      Fix "add -u" that sometimes fails to resolve unmerged paths
      http: clear POSTFIELDS when initializing a slot
      Start 1.7.6 cycle
      Start 1.7.5.1 maintenance track
      add -p: 'q' should really quit
      t3701: Editing a split hunk in an "add -p" session
      add--interactive.perl: factor out repeated --recount option
      "add -p": work-around an old laziness that does not coalesce hunks
      Update draft release notes to 1.7.6
      Update draft release notes to 1.7.6
      Git 1.7.5.1
      Update draft release notes to 1.7.6
      t3701: fix here document
      Update draft release notes to 1.7.6
      merge: make branch.&lt;name&gt;.mergeoptions correctly override merge.&lt;option&gt;
      merge: introduce merge.ff configuration variable
      rerere: libify rerere_clear() and rerere_gc()
      t3701: add-p-fix makes the last test to pass
      t1507: avoid "${parameter&lt;op&gt;'word'}" inside double-quotes
      index_fd(): turn write_object and format_check arguments into one flag
      index_fd(): split into two helper functions
      convert: rename the "eol" global variable to "core_eol"
      convert: give saner names to crlf/eol variables, types and functions
      convert: make it safer to add conversion attributes
      convert: make it harder to screw up adding a conversion attribute
      Revert "Honor $(prefix) set in config.mak* when defining ETC_GIT* and sysconfdir"
      git-grep: do not die upon -F/-P when grep.extendedRegexp is set.
      Revert "magic pathspec: add ":(icase)path" to match case insensitively"
      pathspec: drop "lone : means no pathspec" from get_pathspec()
      grep: use get_pathspec() correctly
      fix overstrict :&lt;path&gt; diagnosis
      fix overslow :/no-such-string-ever-existed diagnostics
      rev/path disambiguation: further restrict "misspelled index entry" diag
      Revert "completion: don't declare 'local words' to make zsh happy"
      Update draft release notes to 1.7.6
      setup_revisions(): take pathspec from command line and --stdin correctly
      revision.c: leave a note for "a lone :" enhancement
      Prepare for 1.7.5.2
      Update draft release notes to 1.7.6
      Bigfile: teach "git add" to send a large file straight to a pack
      Declare lookup_replace_object() in cache.h, not in commit.h
      t6050: make sure we test not just commit replacement
      read_sha1_file(): get rid of read_sha1_file_repl() madness
      inline lookup_replace_object() calls
      read_sha1_file(): allow selective bypassing of replacement mechanism
      sha1_file: typofix
      git_open_noatime(): drop unused parameter
      Update draft release notes to 1.7.5.2
      Sync release notes for 1.7.6 to exclude what are in maintenance track
      git-grep: update tests now regexp type is "last one wins"
      Makefile: Pass USE_LIBPCRE down in GIT-BUILD-OPTIONS
      sideband_demux(): fix decl-after-stmt
      Update draft release notes to 1.7.5.2
      Update release notes to 1.7.6
      notes remove: allow removing more than one
      notes remove: --ignore-missing
      notes remove: --stdin reads from the standard input
      show: --ignore-missing
      Git 1.7.5.2
      Revert "Merge branch 'en/merge-recursive'"
      Update draft release notes to 1.7.6
      Update 1.7.6 draft release notes
      require-work-tree wants more than what its name says
      handle_options(): do not miscount how many arguments were used
      userformat_find_requirements(): find requirement for the correct format
      compat/fnmatch/fnmatch.c: give a fall-back definition for NULL
      Git 1.7.5.3
      Update 1.7.6 draft release notes
      config.mak.in: allow "configure --sysconfdir=/else/where"
      log: --quiet should serve as synonym to -s
      diff: futureproof "stop feeding the backend early" logic
      Start 1.7.5.4 draft release notes
      Update draft release notes to 1.7.6
      Git 1.7.5.4
      Git 1.7.6-rc1
      Git 1.7.6-rc2
      t7810: avoid unportable use of "echo"
      Git 1.7.6-rc3
      Git 1.7.6

Kacper Kornet (1):
      Honor $(prefix) set in config.mak* when defining ETC_GIT* and sysconfdir

Luke Diamand (3):
      git-p4: add option to preserve user names
      git-p4: small improvements to user-preservation
      git-p4: warn if git authorship won't be retained

Marius Storm-Olsen (1):
      Automatically autoload bashcompinit for ZSH, when needed

Martin von Zweigbergk (35):
      rebase: clearer names for directory variables
      rebase: refactor reading of state
      rebase: read state outside loop
      rebase: remove unused rebase state 'prev_head'
      rebase: improve detection of rebase in progress
      rebase: act on command line outside parsing loop
      rebase: stricter check of standalone sub command
      rebase: align variable names
      rebase: align variable content
      rebase: factor out command line option processing
      rebase -i: remove now unnecessary directory checks
      rebase: reorder validation steps
      rebase: factor out reference parsing
      rebase: factor out clean work tree check
      rebase: factor out call to pre-rebase hook
      rebase -i: support --stat
      rebase: remove $branch as synonym for $orig_head
      rebase: extract merge code to new source file
      rebase: extract am code to new source file
      rebase: show consistent conflict resolution hint
      rebase -i: align variable names
      rebase: make -v a tiny bit more verbose
      rebase: factor out sub command handling
      rebase: extract code for writing basic state
      rebase: remember verbose option
      rebase: remember strategy and strategy options
      rebase -m: remember allow_rerere_autoupdate option
      rebase -m: don't print exit code 2 when merge fails
      git-rebase--am: remove unnecessary --3way option
      rebase -i: don't read unused variable preserve_merges
      rebase -i: remove unnecessary state rebase-root
      rebase: use @{upstream} if no upstream specified
      Makefile: do not install sourced rebase scripts
      rebase: define options in OPTIONS_SPEC
      diffcore-rename: don't consider unmerged path as source

Mathias Lafeldt (2):
      t/README: unify documentation of test function args
      t/test-lib.sh: minor readability improvements

Michael Haggerty (1):
      git-svn: add an option to skip the creation of empty directories

Michael J Gruber (16):
      builtin/log.c: separate default and setup of cmd_log_init()
      t/t1411: test reflog with formats
      reflog: fix overriding of command line options
      t1506: factor out test for "Did you mean..."
      sha1_name: Suggest commit:./file for path in subdir
      contrib/completion: --notes, --no-notes
      date: avoid "X years, 12 months" in relative dates
      rev-list --count: separate count for --cherry-mark
      t1020: test !alias in subdirectory
      handle_alias: provide GIT_PREFIX to !alias
      config.txt,diff-options.txt: porcelain vs. plumbing for color.diff
      git-fast-import.txt: --relative-marks takes no parameter
      config: define and document exit codes
      config: Give error message when not changing a multivar
      git-svn: Fix git svn log --show-commit
      sh-18n: quell "unused variable" warning

Michael Schubert (2):
      tag: disallow '-' as tag name
      ls-remote: the --exit-code option reports "no matching refs"

Michał Kiedrowicz (11):
      Documentation: Add --line-number to git-grep synopsis
      contrib/completion: --line-number to git grep
      grep: Put calls to fixmatch() and regmatch() into patmatch()
      grep: Fix a typo in a comment
      grep: Extract compile_regexp_failed() from compile_regexp()
      git-grep: Learn PCRE
      configure: Check for libpcre
      grep: Add basic tests
      git-grep: Bail out when -P is used with -F or -E
      git-grep: Update tests (mainly for -P)
      git-grep: Fix problems with recently added tests

Namhyung Kim (2):
      blame: add --abbrev command line option and make it honor core.abbrev
      completion: replace core.abbrevguard to core.abbrev

Nguyễn Thái Ngọc Duy (9):
      Reimplement read_tree_recursive() using tree_entry_interesting()
      Convert read_tree{,_recursive} to support struct pathspec
      Improve tree_entry_interesting() handling code
      setup: return correct prefix if worktree is '/'
      Kill off get_relative_cwd()
      t1011: fix sparse-checkout initialization and add new file
      sparse checkout: do not eagerly decide the fate for whole directory
      t3703, t4208: add test cases for magic pathspec
      init/clone: remove short option -L and document --separate-git-dir

Nicolas Morey-Chaisemartin (1):
      submodule: Add --force option for git submodule update

Rafael Gieschke (2):
      copy_gecos: fix not adding nlen to len when processing "&amp;"
      ident: add NO_GECOS_IN_PWENT for systems without pw_gecos in struct passwd

Ramkumar Ramachandra (4):
      Documentation: Add filter.&lt;driver&gt;.* to config
      Documentation: Move diff.&lt;driver&gt;.* from config.txt to diff-config.txt
      Documentation: Add diff.&lt;driver&gt;.* to config
      Documentation: Allow custom diff tools to be specified in 'diff.tool'

Ramsay Allan Jones (9):
      Makefile: Use cgcc rather than sparse in the check target
      sparse: Fix an "symbol 'cmd_index_pack' not declared" warning
      sparse: Fix some "Using plain integer as NULL pointer" warnings
      sparse: Fix an "symbol 'format_subject' not declared" warning
      sparse: Fix an "symbol 'merge_file' not decared" warning
      sparse: Fix errors due to missing target-specific variables
      sparse: Fix some "symbol not declared" warnings
      setup.c: Fix some "symbol not declared" sparse warnings
      config.c: Remove unused git_config_global() function

René Scharfe (1):
      strbuf: clarify assertion in strbuf_setlen()

SZEDER Gábor (3):
      completion: don't modify the $cur variable in completion functions
      completion: remove unnecessary _get_comp_words_by_ref() invocations
      completion: don't declare 'local words' to make zsh happy

Sebastian Schuberth (1):
      doc: Clarify that "cherry-pick -x" does not use "git notes"

Sebastien Cevey (3):
      gitweb: Split git_project_list_body in two functions
      gitweb: Modularized git_get_project_description to be more generic
      gitweb: Optional grouping of projects by category

Stefan Sperling (1):
      remove noise and inaccuracies from git-svn docs

Sverre Rabbelier (1):
      fast-import: fix option parser for no-arg options

Sylvain Rabot (1):
      git-send-email: fix missing space in error message

Tay Ray Chuan (1):
      t5541-http-push: add test for chunked

Thomas Rast (1):
      add -i: ignore terminal escape sequences

Valentin Haenel (9):
      git-svn.txt: fix usage of --add-author-from
      git-svn.txt: move option descriptions
      git-svn.txt: small typeface improvements
      git-add.txt: document 'add.ignoreErrors'
      config.txt: 'interactive.singlekey; is used by...
      git-add.txt: document 'interactive.singlekey'
      git-stash.txt: better docs for '--patch'
      git-checkout.txt: better docs for '--patch'
      git-reset.txt: better docs for '--patch'

Vincent van Ravesteijn (1):
      Documentation: update to git-merge-base --octopus

Ævar Arnfjörð Bjarmason (12):
      i18n: mark merge "Could not read from" message for translation
      i18n: mark merge "upstream" messages for translation
      i18n: mark merge CHERRY_PICK_HEAD messages for translation
      i18n: mark clone nonexistent repository message for translation
      i18n: mark checkout --detach messages for translation
      i18n: mark checkout plural warning for translation
      i18n: mark init-db messages for translation
      git-sh-i18n--envsubst: our own envsubst(1) for eval_gettext()
      git-sh-i18n.sh: add no-op gettext() and eval_gettext() wrappers
      git-sh-i18n.sh: add GIT_GETTEXT_POISON support
      Makefile: add xgettext target for *.sh files
      git-sh-i18n--envsubst: add SYNOPSIS section to the documentation

libgit2 v0.13.0

Hello everyone,

one more month, and another minor release of libgit2. We’re getting there.

The release has been tagged at:

https://github.com/libgit2/libgit2/tree/v0.13.0

A dist package can be found at:

https://github.com/downloads/libgit2/libgit2/libgit2-0.13.0.tar.gz

Updated documentation can be found at:

http://libgit2.github.com/libgit2/

The full change log follows after the message.

Thanks for your time,
Vicent

libgit2 v0.13.0 “Watermelon Wheat”

On this rascalicious minor release of libgit2:

  • We’ve dropped support for Waf. All the build process is now managed
    through CMake for all platforms.

  • We’ve removed the custom backends from the repository. You can now
    find a collection of Custom backends on their own repo, under the
    libgit2 org. Including MySQL and Memcache backends, courtesy of the
    beardful Brian Lopez.

  • We are rocking a new documentation system, Docurium, courtesy of the
    insightful Scott Chacon. Check out the details for each single method
    in our external API and the way they’ve evolved through the history
    of the library:

    http://libgit2.github.com/libgit2/

This will certainly come in handy if you are developing bindings for
the library.

  • You can now check the linked version of the library from your
    application or bindings, using git_libgit2_version.

  • We have a gazillion new features, courtesy of our invaluable
    collaborators, including:

    • Support for Config files!

    • Support for prefix-only reads on the ODB

    • Repository discovery

    • Support for the Unmerged Entries index extension

    • Better Windows support

    • 30.000 bug fixes (actual number may be lower)

Thanks as always to everyone who makes this project possible.

Here’s the full list of all external API changes:

  • git_index_open_bare

  • git_index_open_inrepo

  • git_odb_backend_sqlite

  • git_oid_mkraw

  • git_oid_mkstr

  • git_reference_listcb

  • git_repository_workdir

  • git_blob_lookup_prefix

  • git_commit_lookup_prefix

  • git_config_add_file

  • git_config_add_file_ondisk

  • git_config_file__ondisk

  • git_config_find_global

  • git_config_foreach

  • git_config_free

  • git_config_get_bool

  • git_config_get_int

  • git_config_get_long

  • git_config_get_string

  • git_config_new

  • git_config_open_global

  • git_config_open_ondisk

  • git_config_set_bool

  • git_config_set_int

  • git_config_set_long

  • git_config_set_string

  • git_index_entry_stage

  • git_index_entrycount_unmerged

  • git_index_get_unmerged_byindex

  • git_index_get_unmerged_bypath

  • git_index_open

  • git_object_lookup_prefix

  • git_odb_read_prefix

  • git_oid_fromraw

  • git_oid_fromstr

  • git_oid_ncmp

  • git_reference_foreach

  • git_repository_config

  • git_repository_discover

  • git_repository_is_bare

  • git_tag_lookup_prefix

  • git_tree_entry_type

  • git_tree_lookup_prefix

Git 1.7.6.rc1

A release candidate Git 1.7.6-rc1 is available at the usual places
for testing:

http://www.kernel.org/pub/software/scm/git/
git-1.7.6.rc1.tar.{gz,bz2}                    (source tarball)
git-htmldocs-1.7.6.rc1.tar.{gz,bz2}           (preformatted docs)
git-manpages-1.7.6.rc1.tar.{gz,bz2}           (preformatted docs)

The RPM binary packages for a few architectures are found in:

testing/git-*-1.7.6.rc1-1.fc13.$arch.rpm      (RPM)

A week has passed since the casual “-rc0” was tagged, so here is the first
official release candidate, with RPM and announcement.

Please switch to the tip of master for your daily use so that we can
ship 1.7.6 without regressions and bugs in new features in two weeks.

Thanks.

Changes since v1.7.6-rc0 are as follows:

Alex Riesen (1):
      t3703: skip more tests using colons in file names on Windows

Brandon Casey (2):
      t7508: demonstrate status's failure to use --porcelain format with -z
      builtin/commit.c: set status_format _after_ option parsing

Jakub Narebski (4):
      gitweb: Move information about installation from README to INSTALL
      gitweb: Describe CSSMIN and JSMIN in gitweb/INSTALL
      gitweb: Move "Requirements" up in gitweb/INSTALL
      gitweb: Fix usability of $prevent_xss

Jeff King (1):
      diff_tree: disable QUICK optimization with diff filter

Jim Meyering (1):
      fetch: do not leak a refspec

Junio C Hamano (2):
      diff: futureproof "stop feeding the backend early" logic
      Git 1.7.6-rc1