Skip to content

tig-1.2

Compare
Choose a tag to compare
@jonas jonas released this 23 Apr 21:27
· 1527 commits to master since this release

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.

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