Month: September 2011

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