Skip navigation

Monthly Archives: July 2010

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

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

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

RPMS/$arch/git-*-1.7.2-1.fc11.$arch.rpm       (RPM)

We have 500+ non-merge commits from 93 contributors, among which 28 are
new contributors, since the last release (1.7.1). Thanks everybody for
working hard to make git a better system ;-) .

Git v1.7.2 Release Notes

Updates since v1.7.1

  • core.eol configuration and text/eol attributes are the new way to control
    the end of line conventions for files in the working tree.

  • core.autocrlf has been made safer – it will now only handle line
    endings for new files and files that are LF-only in the
    repository. To normalize content that has been checked in with
    CRLF, use the new eol/text attributes.

  • The whitespace rules used in “git apply –whitespace” and “git diff”
    gained a new member in the family (tab-in-indent) to help projects with
    policy to indent only with spaces.

  • When working from a subdirectory, by default, git does not look for its
    metadirectory “.git” across filesystems, primarily to help people who
    have invocations of git in their custom PS1 prompts, as being outside
    of a git repository would look for “.git” all the way up to the root
    directory, and NFS mounts are often slow. DISCOVERY_ACROSS_FILESYSTEM
    environment variable can be used to tell git not to stop at a
    filesystem boundary.

  • Usage help messages generated by parse-options library (i.e. most
    of the Porcelain commands) are sent to the standard output now.

  • :/<string> notation to look for a commit now takes regular expression
    and it is not anchored at the beginning of the commit log message
    anymore (this is a backward incompatible change).

  • “git” wrapper learned “-c name=value” option to override configuration
    variable from the command line.

  • Improved portability for various platforms including older SunOS,
    HP-UX 10/11, AIX, Tru64, etc. and platforms with Python 2.4.

  • The message from “git am -3″ has been improved when conflict
    resolution ended up making the patch a no-op.

  • “git blame” applies the textconv filter to the contents it works
    on, when available.

  • “git checkout –orphan newbranch” is similar to “-b newbranch” but
    prepares to create a root commit that is not connected to any existing
    commit.

  • “git cherry-pick” learned to pick a range of commits
    (e.g. “cherry-pick A..B” and “cherry-pick –stdin”), so did “git
    revert”; these do not support the nicer sequencing control “rebase
    [-i]” has, though.

  • “git cherry-pick” and “git revert” learned –strategy option to specify
    the merge strategy to be used when performing three-way merges.

  • “git cvsserver” can be told to use pserver; its password file can be
    stored outside the repository.

  • The output from the textconv filter used by “git diff” can be cached to
    speed up their reuse.

  • “git diff –word-diff=<mode>” extends the existing “–color-words”
    option, making it more useful in color-challenged environments.

  • The regexp to detect function headers used by “git diff” for PHP has
    been enhanced for visibility modifiers (public, protected, etc.) to
    better support PHP5.

  • “diff.noprefix” configuration variable can be used to implicitly
    ask for “diff –no-prefix” behaviour.

  • “git for-each-ref” learned “%(objectname:short)” that gives the object
    name abbreviated.

  • “git format-patch” learned –signature option and format.signature
    configuration variable to customize the e-mail signature used in the
    output.

  • Various options to “git grep” (e.g. –count, –name-only) work better
    with binary files.

  • “git grep” learned “-Ovi” to open the files with hits in your editor.

  • “git help -w” learned “chrome” and “chromium” browsers.

  • “git log –decorate” shows commit decorations in various colours.

  • “git log –follow <path>” follows across copies (it used to only follow
    renames). This may make the processing more expensive.

  • “git log –pretty=format:<template>” specifier learned “% <something>”
    magic that inserts a space only when %<something> expands to a
    non-empty string; this is similar to “%+<something>” magic, but is
    useful in a context to generate a single line output.

  • “git notes prune” learned “-n” (dry-run) and “-v” options, similar to
    what “git prune” has.

  • “git patch-id” can be fed a mbox without getting confused by the
    signature line in the format-patch output.

  • “git remote” learned “set-branches” subcommand.

  • “git rev-list A..B” learned –ancestry-path option to further limit
    the result to the commits that are on the ancestry chain between A and
    B (i.e. commits that are not descendants of A are excluded).

  • “git show -5″ is equivalent to “git show –do-walk 5″; this is similar
    to the update to make “git show master..next” walk the history,
    introduced in 1.6.4.

  • “git status [-s] –ignored” can be used to list ignored paths.

  • “git status -s -b” shows the current branch in the output.

  • “git status” learned “–ignore-submodules” option.

  • Various “gitweb” enhancements and clean-ups, including syntax
    highlighting, “plackup” support for instaweb, .fcgi suffix to run
    it as FastCGI script, etc.

  • The test harness has been updated to produce TAP-friendly output.

  • Many documentation improvement patches are also included.

Fixes since v1.7.1

All of the fixes in v1.7.1.X maintenance series are included in this
release, unless otherwise noted.

  • We didn’t URL decode “file:///path/to/repo” correctly when path/to/repo
    had percent-encoded characters (638794c, 9d2e942, ce83eda, 3c73a1d).

  • “git clone” did not configure remote.origin.url correctly for bare
    clones (df61c889).

  • “git diff –graph” works better with “–color-words” and other options
    (81fa024..4297c0a).

  • “git diff” could show ambiguous abbreviation of blob object names on
    its “index” line (3e5a188).

  • “git reset –hard” started from a wrong directory and a working tree in
    a nonstandard location is in use got confused (560fb6a1).

  • “git read-tree -m A B” used to switch to branch B while retaining
    local changes added an incorrect cache-tree information (b1f47514).

It has been a long time since the last post. I blame it to a) I haven’t had much time b) there hasn’t been so much activity b.1) or there’s a problem with Google Reader that it’s doping some activity.

I’ll be taking a close look at Google Reader to see if it’s doping some stuff, but if anyone has a recommendation for an RSS aggregator that would store thousands of entries, that would be nice.

Here’s the list of new top links:

  1. Git Reference (191): Comprehensive guide for git; well organized, and pleasant to the eye
  2. Git for the lazy (62): Straightforward introduction to git
  3. Gitbox — Everyday git interface for human beings. (57): Graphical UI for Mac OS X
  4. Agile git Workflow (25): Tips to use git on an “agile” environment
  5. Tv’s cobweb: Git for Computer Scientists (18): Explanation of git operations through diagrams
  6. Distributed Version Control is here to stay, baby (14): A story of why Stack Overflow’s podcast regarding DVCS was plain wrong
  7. An Illustrated Guide to Git on Windows (12)
  8. Mercurial tutorial (12): /me shrugs
  9. Git for the nervous developer (10): Explaining git from a convert
  10. Sparkle Share (9): Tool to replace dropbox (uses git internally)

A release candidate Git 1.7.2.rc3 is available at the usual places
for testing:

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

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

testing/git-*-1.7.2.rc3-1.fc11.$arch.rpm      (RPM)

Hopefully this will be the last one before the final I’d like to have by
the end of the week.

Changes since v1.7.2-rc2 are as follows:

Bo Yang (1):
      diff.c: fix a graph output bug

Fredrik Skolmli (1):
      Documentation: Spelling fix in protocol-capabilities.txt

Johannes Sixt (1):
      t0005: work around strange $? in ksh when program terminated by a signal

Jonathan Nieder (1):
      t9118 (git-svn): prevent early failure from taking down later tests

Junio C Hamano (2):
      Fix "read-tree -m A B" priming the cache-tree
      Git 1.7.2-rc3

Michael J Gruber (3):
      t9118: avoid PEG revision identifier in tests
      test-lib: simplify GIT_SKIP_TESTS loop
      test-lib: TAP compliance for skipping tests on request

Miklos Vajna (1):
      format-patch: document the format.to configuration setting

Nicolas Sebrecht (1):
      checkout: accord documentation to what git does

Oren Held (1):
      git fetch documentation: describe short '-p' synonym to '--prune' option

Raja R Harinath (1):
      Use dev_t for device id (st_dev) from stat in setup_git_directory_gently()

Ævar Arnfjörð Bjarmason (1):
      tests: Use skip_all=* to skip tests

A release candidate Git 1.7.2-rc2 is available at the usual places
for testing:

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

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

testing/git-*-1.7.2.rc2-1.fc11.$arch.rpm      (RPM)

Git v1.7.2 Release Notes (draft)

Updates since v1.7.1

  • core.eol configuration and text/eol attributes are the new way to control
    the end of line conventions for files in the working tree.

  • core.autocrlf has been made safer – it will now only handle line
    endings for new files and files that are LF-only in the
    repository. To normalize content that has been checked in with
    CRLF, use the new eol/text attributes.

  • The whitespace rules used in “git apply –whitespace” and “git diff”
    gained a new member in the family (tab-in-indent) to help projects with
    policy to indent only with spaces.

  • When working from a subdirectory, by default, git does not look for its
    metadirectory “.git” across filesystems, primarily to help people who
    have invocations of git in their custom PS1 prompts, as being outside
    of a git repository would look for “.git” all the way up to the root
    directory, and NFS mounts are often slow. DISCOVERY_ACROSS_FILESYSTEM
    environment variable can be used to tell git not to stop at a
    filesystem boundary.

  • Usage help messages generated by parse-options library (i.e. most
    of the Porcelain commands) are sent to the standard output now.

  • :/<string> notation to look for a commit now takes regular expression
    and it is not anchored at the beginning of the commit log message
    anymore (this is a backward incompatible change).

  • “git” wrapper learned “-c name=value” option to override configuration
    variable from the command line.

  • Improved portability for various platforms including older SunOS,
    HP-UX 10/11, AIX, Tru64, etc. and platforms with Python 2.4.

  • The message from “git am -3″ has been improved when conflict
    resolution ended up making the patch a no-op.

  • “git blame” applies the textconv filter to the contents it works
    on, when available.

  • “git checkout –orphan newbranch” is similar to “-b newbranch” but
    prepares to create a root commit that is not connected to any existing
    commit.

  • “git cherry-pick” learned to pick a range of commits
    (e.g. “cherry-pick A..B” and “cherry-pick –stdin”), so did “git
    revert”; these do not support the nicer sequencing control “rebase
    [-i]” has, though.

  • “git cherry-pick” and “git revert” learned –strategy option to specify
    the merge strategy to be used when performing three-way merges.

  • “git cvsserver” can be told to use pserver; its password file can be
    stored outside the repository.

  • The output from the textconv filter used by “git diff” can be cached to
    speed up their reuse.

  • “git diff –word-diff=<mode>” extends the existing “–color-words”
    option, making it more useful in color-challenged environments.

  • The regexp to detect function headers used by “git diff” for PHP has
    been enhanced for visibility modifiers (public, protected, etc.) to
    better support PHP5.

  • “diff.noprefix” configuration variable can be used to implicitly
    ask for “diff –no-prefix” behaviour.

  • “git for-each-ref” learned “%(objectname:short)” that gives the object
    name abbreviated.

  • “git format-patch” learned –signature option and format.signature
    configuration variable to customize the e-mail signature used in the
    output.

  • Various options to “git grep” (e.g. –count, –name-only) work better
    with binary files.

  • “git grep” learned “-Ovi” to open the files with hits in your editor.

  • “git help -w” learned “chrome” and “chromium” browsers.

  • “git log –decorate” shows commit decorations in various colours.

  • “git log –follow <path>” follows across copies (it used to only follow
    renames). This may make the processing more expensive.

  • “git log –pretty=format:<template>” specifier learned “% <something>”
    magic that inserts a space only when %<something> expands to a
    non-empty string; this is similar to “%+<something>” magic, but is
    useful in a context to generate a single line output.

  • “git notes prune” learned “-n” (dry-run) and “-v” options, similar to
    what “git prune” has.

  • “git patch-id” can be fed a mbox without getting confused by the
    signature line in the format-patch output.

  • “git remote” learned “set-branches” subcommand.

  • “git rev-list A..B” learned –ancestry-path option to further limit
    the result to the commits that are on the ancestry chain between A and
    B (i.e. commits that are not descendants of A are excluded).

  • “git show -5″ is equivalent to “git show –do-walk 5″; this is similar
    to the update to make “git show master..next” walk the history,
    introduced in 1.6.4.

  • “git status [-s] –ignored” can be used to list ignored paths.

  • “git status -s -b” shows the current branch in the output.

  • “git status” learned “–ignore-submodules” option.

  • Various “gitweb” enhancements and clean-ups, including syntax
    highlighting, “plackup” support for instaweb, .fcgi suffix to run
    it as FastCGI script, etc.

  • The test harness has been updated to produce TAP-friendly output.

Fixes since v1.7.1

All of the fixes in v1.7.1.X maintenance series are included in this
release, unless otherwise noted.

  • We didn’t URL decode “file:///path/to/repo” correctly when path/to/repo
    had percent-encoded characters (638794c, 9d2e942, ce83eda, 3c73a1d).

  • “git clone” did not configure remote.origin.url correctly for bare
    clones (df61c889).

  • “git diff –graph” works better with “–color-words” and other options
    (81fa024..4297c0a).

  • “git diff” could show ambiguous abbreviation of blob object names on
    its “index” line (3e5a188).

  • “git reset –hard” started from a wrong directory and a working tree in
    a nonstandard location is in use got confused (560fb6a1).

Changes since v1.7.2-rc1 are as follows:

Brandon Casey (2):
      t/t9700/test.pl: don't access private object members, use public access methods
      t/t0006: specify timezone as EST5 not EST to comply with POSIX

Chris Packham (1):
      Documentation/git-gc.txt: add reference to githooks

Dylan Reid (1):
      xdiff: optimise for no whitespace difference when ignoring whitespace.

Heiko Voigt (1):
      add missing &amp;&amp; to submodule-merge testcase

Jakub Narebski (1):
      gitweb: Move evaluate_gitweb_config out of run_request

Jeff King (3):
      t0006: test timezone parsing
      parse_date: fix signedness in timezone calculation
      test-date: fix sscanf type conversion

Jonathan Nieder (1):
      t/README: document more test helpers

Junio C Hamano (4):
      Updates from the list to 1.7.2 Release Notes
      t/README: proposed rewording...
      backmerge a few more fixes to 1.7.1.X series
      Git 1.7.2-rc2

Michael J Gruber (1):
      rerere.txt: Document forget subcommand

Pierre Habouzit (1):
      fix git branch -m in presence of cross devices

Uwe Kleine-König (1):
      rev-parse: fix --parse-opt --keep-dashdash --stop-at-non-option

Ævar Arnfjörð Bjarmason (13):
      test-lib: Adjust output to be valid TAP format
      test-lib: Make the test_external_* functions TAP-aware
      test-lib: output a newline before "ok" under a TAP harness
      tests: Skip tests in a way that makes sense under TAP
      tests: Say "pass" rather than "ok" on empty lines for TAP
      t9700: Use Test::More-&gt;builder, not $Test::Builder::Test
      t/README: The trash is in 't/trash directory.$name'
      t/README: Typo: paralell -&gt; parallel
      t/README: Document the prereq functions, and 3-arg test_*
      t/README: Document test_external*
      t/README: Document test_expect_code
      t/README: Add a section about skipping tests
      t/README: Document the do's and don'ts of tests

Google is hosting GitTogether ’10, October 25th through 27th,
at its Mountain View, CA headquarters.

Like last year (and the year before that!), this GitTogether
immediately follows the Google Summer of Code mentor summit, so
some of our end-user groups may already have representatives in
the area and might like to attend. We’ve timed the GitTogether
to follow the summit so we can get some users to attend while they
are still in the area.

Git contributors and users alike are welcome to attend. Admission is
free, but you will need to arrange for your own travel and lodging.
If you are looking at flights try the SJC and SFO airports.
SFO usually has cheaper flights as its a bigger, more active airport.

We are looking to solicit proposals for talks, round-table
discussions, centers of focus for patch hack-a-thons, etc.

A Git Wiki page is being used for planning:

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

If you would like to attend, please add your name to the Attendees
list on the wiki page.

Shawn.

as more than just a proof-of-concept to get pyjamas out of “a nice
toy, doesn’t do much, great demos, shame about real life” mode, i’ve
created yet another git repository browser.  this one, thanks to
pyjamas, obviously runs as both a desktop application and also as a
web application – same source code.

pyjamasgitweb is actually two independent happily small projects.  the
first is simply a JSONRPC-based git web server (in python, using
python-git) and the second is a matching front-end.

the front-end is happily bare but functional.  a demo is here (please
be nice to it) where you will see immediately a total lack of colour
or even borders:
http://pyjs.org/pygit

if anyone wants the source code, or to help contribute, it’s at:
  git clone gitolite@pyjs.org:pyjamasgitweb

to start the server, read the README, install the dependencies, then do:

$ cd jsonservice
$ python srv.py {path to top level of repository} &
$ cd ../pyjamas
$ ./build.sh # requires symlink ~/bin/pyjsbuild to sandbox
$ firefox http://127.0.0.1:8000/outputJSONRPCService.html &
$ python JSONRPCService.py # for the desktop version

obviously, if you just want to write your own JSONRPC client, you
don’t need pyjamas…

l.

A fresh bugfix-release of cgit (a web interface for git repositories)
is now available at http://hjemli.net/git/cgit.

Changes since 0.8.3.1

Daniel Milde (1):
Clear the whole context

Florian Pritz (1):
ui-shared.c: fix segfault when repo is empty

Lars Hjemli (2):
shared.c: avoid memory leak during diff
CGIT 0.8.3.2

Salut,

A new version of tig is available. Thanks to everyone who provided
patches and input.

In the pipe-line are changes to finally rewrite the graph visualisation
(currently being rebased in wip/graph) and retire the log view.

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:

  • Encode everything internally as UTF-8. This can affect performance,
    but should in general improve handling of character lengths etc.
    Also, to properly handle UTF-8 environments use ncurses with wide
    character support.

  • The use of TIG_{MAIN,DIFF,LOG,TREE,BLOB}_CMD environment variables
    has been deprecated. To allow configuration of the diff view,
    TIG_DIFF_OPTS can be used.

Improvements:

  • Plug several memory leaks.

  • Command line arguments are split into diff, revision, and file
    arguments and made available as %(diffargs), %(revargs), and
    %(fileargs). Diff view will limit diffs using %(fileargs).

  • Status view: update the file variable when a line is selected so
    %(file) works as expected.

  • Branch view: add %(branch) symbol providing access to the selected
    branch.

  • Branch view: add entry to browse all branches (uses git-log’s –all
    flag).

  • Abbreviation of author names can now be configured and toggled.

  • Mark detached heads with [HEAD].

  • Add support for displaying dates in local time.

Bug fixes:

  • Status view: fix usage from sub directories, which was broken by the
    changes made to support blame view from sub directories.

  • Fix text expansion to not truncate long lines

  • Fix parsing of boolean show-date values.

  • Fix relative date.

  • Fix unbind to behave as if the keybinding was never defined.

  • Fix unbind to also cover built-in run requests.

  • Fix parsing of unknown keymap names.

  • Blame view: fix parent blame to detect renames. It uses “previous”
    line info from the blame porcelain output added in git version 1.6.3.

Change summary

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

INSTALL                     |   19 +-
Makefile                    |   13 +
NEWS                        |   42 +
TODO                        |    2 +
VERSION                     |    2 +-
contrib/announcement.sh     |    2 +-
contrib/aspell.dict         |   13 +-
contrib/release.sh          |    2 +-
contrib/tig-completion.bash |    2 +-
manual.txt                  |   81 +--
tig.1.txt                   |   29 +-
tig.c                       | 1724 +++++++++++++++++++----------------
tigrc.5.txt                 |   29 +-
13 files changed, 1065 insertions(+), 895 deletions(-)
 1  Ingmar Vanhassel
 2  Jeff King
89  Jonas Fonseca
 2  Simon Gerber
 1  Simon Ruderich
 1  jipey

Download:

http://code.google.com/p/tortoisegit/downloads/detail?name=TortoiseGit-1.5.2.0-32bit.msi
http://code.google.com/p/tortoisegit/downloads/detail?name=TortoiseGit-1.5.2.0-64bit.msi

Release 1.5.2.0

Bug Fix

  • Fixed issue #454: Fix “check Now” can’t work at setting dialog

  • Fixed issue #457: Git copy versioned item(s) here adds all unversioned files

  • put pull, push and fetch to external manual.

  • Fixed issue #460:

Git 1.7.0.6 is available at the usual places:
http://www.kernel.org/pub/software/scm/git/
git-1.7.0.6.tar.{gz,bz2}                      (source tarball)
git-htmldocs-1.7.0.6.tar.{gz,bz2}             (preformatted docs)
git-manpages-1.7.0.6.tar.{gz,bz2}             (preformatted docs)

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

RPMS/$arch/git-*-1.7.0.6-1.fc11.$arch.rpm     (RPM)
Git v1.7.0.6 Release Notes
==========================

Fixes since v1.7.0.5
  • “git diff –stat” used “int” to count the size of differences,
    which could result in overflowing.

  • “git rev-list –abbrev-commit” defaulted to 40-byte abbreviations, unlike
    newer tools in the git toolset.

And other minor fixes and documentation updates.

Changes since v1.7.0.5 are as follows:

Charles Bailey (1):
      Documentation: Describe other situations where -z affects git diff

David Aguilar (1):
      Makefile: Remove usage of deprecated Python "has_key" method

Jay Soffian (1):
      Documentation/config.txt: default gc.aggressiveWindow is 250, not 10

Jeff King (1):
      diff: use large integers for diffstat calculations

Johannes Sixt (1):
      MSVC: Fix build by adding missing termios.h dummy

Jonathan Nieder (2):
      Document new "already-merged" rule for branch -d
      Documentation/Makefile: fix interrupted builds of user-manual.xml

Junio C Hamano (1):
      Git 1.7.0.6

Marc Branchaud (1):
      Docs: Add -X option to git-merge's synopsis.

Michael J Gruber (3):
      rev-list: use default abbrev length when abbrev-commit is in effect
      t1010-mktree: Adjust expected result to code and documentation
      t7012: Mark missing tests as TODO

SZEDER Gábor (1):
      reflog: remove 'show' from 'expire's usage string

Thomas Rast (1):
      combined diff: correctly handle truncated file

Will Palmer (1):
      documentation: clarify direction of core.autocrlf
Follow

Get every new post delivered to your Inbox.