tig-1.2

Hello,

It’s been almost a year since the last release of tig, so here is a much
needed update. It brings a lot of cool new features, such as the ability
to jump directly from diff to the corresponding line in the changed
file, a stash view, improvements to the log view, plus a bunch of bug
fixes.

On behalf of everyone who contributed to this release, please 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

Improvements:

  • Make tig prompt commands bindable to keys. For example:
    bind diff F :set diff-options = --full-diff. (GH #69, #116)

  • Add a diff-options setting for specifying default diff options.
    Example: set diff-options = --patience. (GH #116)

  • Options in diff-options and blame-options matching tig browsing state
    variables are replaced.

  • Show diff stats as wide as the terminal. (GH #109)

  • Show line numbers in the branch view. (GH #135)

  • Add toggles for showing author email or email user names. (GH #115)

  • Open editor at the selected line by prefixing the file argument with
    +<lineno>. Tested in vi, vim, emacs, nano, gedit, geany. Disable
    by adding set editor-line-number = no to ~/.tigrc. (GH #118, #119)

  • Add toggle-files to control whether to show full commit diff or only
    the diff concerning the currently selected file, e.g. for blame.

  • Optionally highlight exceeding characters in long commit titles.
    The default title max width is 50 characters. Customize using:
    set title-overflow = 50 (GH #125)

  • Add +ESC key bindings. Example: bind generic ^[v move-page-up (GH #120)

  • Create temporary files in TMPDIR, TEMP, or TMP before defaulting to /tmp.

  • Reenable tig log as a subcommand. (GH #146)

  • Enable tilde expansion in ~/.tigrc “source” commands. (GH #168)

  • Introduce the stash view, bound to the y keybinding. (GH #169, #174)

Bug fixes:

  • Fix blame and status to work in directories starting with a dot. (GH #172)

  • Reload current branch name when reloading the status view. (GH #93)

  • Fix compile errors on old Solaris. (GH #97)

  • Reload HEAD info when reloading the stage view. (GH #104, #93)

  • Fix disappearing branch labels after external commands. (GH #148)

  • Fix diff view display for staged/unstaged changes when using d.

  • Fix display of status messages when toggling view options. (GH #111)

  • Fix illegal memory access. (GH #98)

  • Fix display of all branches label in repos with short branch names.

  • Fix rendering glitch for branch names.

  • Do not apply diff styling to untracked files in the stage view. (GH #153)

  • Fix tree indentation for entries containing combining characters. (GH #170)

  • Ignore unrepresentable characters when transliterating text for rendering.

  • Transliterate text to output encoding before trimming it to avoid
    misalignment. (GH #86)

  • Introduce a more natural context-sensitive log display. (GH #155)

Change summary

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

BUGS                        |    3 +-
Makefile                    |   32 +-
NEWS                        |   51 ++
SITES                       |    1 +
autogen.sh                  |    2 +-
compat/compat.h             |   44 ++
compat/mkstemps.c           |  152 +++++
compat/setenv.c             |  186 ++++++
config.make.in              |    4 +
configure.ac                |   13 +-
contrib/aspell.dict         |    3 +-
contrib/config.make-Darwin  |    1 +
contrib/header.h            |   12 +
contrib/tig-completion.bash |    2 +-
contrib/tig.spec.in         |    4 +
git.h                       |    4 +-
graph.c                     |   10 +-
graph.h                     |    5 +-
io.c                        |   42 +-
io.h                        |    7 +-
manual.txt                  |   34 +-
refs.c                      |   12 +-
refs.h                      |    5 +-
test-graph.c                |   24 +-
tig.1.txt                   |   18 +-
tig.c                       | 1124 +++++++++++++++++++++++++----------
tig.h                       |   32 +-
tigrc.5.txt                 |   69 ++-
28 files changed, 1509 insertions(+), 387 deletions(-)
 1    Aaron Franks
 1    Beat Bolli
 1    Dominik Vogt
 2    Drew Northup
 3    IWASAKI Yudai
 1    Joakim Sernbrant
61    Jonas Fonseca
 1    Julian Langschaedel
 4    Kumar Appaiah
 1    Menghan Zheng
 1    Michael Grünewald
 1    Rafael Laboissiere
 1    Romain Francoise
 2    Sven Wegener
10    Thomas Sibley
 1    Tristan Matthews
 8    Vivien Didelot
 1    lvzhandong

Jonas Fonseca wrote on 10 Aug 2013

Advertisements