Text-mode interface for git
Version 1.0 of tig is now available. This release brings many smaller tweaks and improvements as well as a number of fixes and compatibility changes to work with the newer versions of git. See the release notes below for a detailed list of changes.
Note that the master repository has been moved to:
git://github.com/jonas/tig.git.
So if you were tracking the old master repository, please update your .git/config or run:
$ git remote set-url origin git://github.com/jonas/tig.git
The master repository is git://github.com/jonas/tig.git, and the old master repository (http://jonas.nitro.dk/tig/tig.git) will be retired.
Improvements:
Use git-log(1)s default commit ordering. The old behavior can be
restored by adding set commit-order = topo
to ~/.tigrc.
Support staging of single lines. Bound to '1' default. (GH #21)
Use +
Add show-notes ~/.tigrc option. Notes are displayed by default.
Support jumping to specific SHAs in the main view.
Decorate replaced commits.
Display line numbers in main view.
Colorize binary diff stats. (GH #17)
Custom colorization of lines matching a string prefix (GH #16). Example configuration: color "Reported-by:" green default
Use git's color settings for the main, status and diff views.
Put set read-git-colors = no
in ~/.tigrc to disable.
Handle editor options with multiple arguments. (GH #12)
Show filename when running tig blame with copy detection. (GH #19)
Use 'source
User-defined commands prefixed with '
bind generic 3 !
Make display of space changes togglable in the diff and stage view. Bound to 'W' by default.
Use per-file encoding specified in gitattributes(5) for blobs and unstaged files.
Obsolete commit-encoding option and pass --encoding=UTF-8 to revision commands.
Main view: show uncommitted changes as staged/unstaged commits.
Can be disabled by putting set show-changes = no
in ~/.tigrc.
Add %(prompt) external command variable, which will prompt for the argument value.
Log information about git commands when the TIG_TRACE environment
variable is set. Example: TIG_TRACE=/tmp/tig.log tig
Branch view: Show the title of the last commit.
Increase the author auto-abbreviation threshold to 10. (GH #49)
For old commits show number of years in relative dates. (GH #50)
Bug fixes:
The diffstat and log summary for changes made in this release.
BUGS | 6 +-
INSTALL | 5 +-
Makefile | 29 +-
NEWS | 56 +
SITES | 4 +-
TODO | 41 -
VERSION | 1 -
asciidoc.conf | 3 +
contrib/aspell.dict | 17 +-
contrib/release.sh | 4 +-
contrib/tig-completion.bash | 4 +-
contrib/tig.spec.in | 2 +-
contrib/tigrc | 1 -
git.h | 55 +
io.c | 167 +++-
io.h | 14 +-
manual.txt | 13 +-
refs.c | 242 ++++
refs.h | 41 +
tig.1.txt | 15 +-
tig.c | 2514 ++++++++++++++++++++++-------------
tig.h | 107 ++-
tigmanual.7.txt | 2 +-
tigrc.5.txt | 99 ++-
24 files changed, 2368 insertions(+), 1074 deletions(-)
4 Giuseppe Bilotta
6 Heiko Schlichting
108 Jonas Fonseca
3 Jonathan Neuschäfer
1 Kumar Appaiah
1 Michael J Gruber
1 P. Sadik
1 Pierre Habouzit
1 Robert Clausecker
1 Romain Francoise
9 Thomas Sibley
1 Vivien Didelot
2 zomfg
I've release tig version 1.1 with a bunch of improvements and bug fixes. Note that tig no longer uses move/copy detection by default to work better on large repository. See the release notes below on how to restore the old behavior.
Incompatibilities:
Improvements:
set wrap-lines = yes
. (GH #2)bind main B !?git rebase -i %(commit)
.bind main C !<git commit
. (GH #66)bind generic I ! <at> sh -c "echo -n %(commit) | xclip -selection c"
.
(GH #65)set ignore-case = yes
.tig --no-walk --stdin < cherry-picks.txt
.set focus-child = no
. (GH #83)Bug fixes:
The diffstat and log summary for changes made in this release.
.gitignore | 2 +
INSTALL | 8 +
Makefile | 35 +-
NEWS | 57 ++-
autogen.sh | 22 +
config.make.in | 12 +-
configure.ac | 13 +-
contrib/announcement.sh | 2 +-
contrib/aspell.dict | 338 ++++++------
contrib/ax_with_curses.m4 | 544 ++++++++++++++++---
contrib/config.make-Darwin | 3 +
contrib/tig.spec.in | 4 +
contrib/update-release-docs.sh | 53 ++
git.h | 36 +-
io.c | 64 ++-
io.h | 9 +-
manual.txt | 47 +-
refs.c | 2 +-
test-graph.c | 2 +-
tig.1.txt | 3 +-
tig.c | 960 +++++++++++++++++++++++---------
tig.h | 51 ++-
tigrc.5.txt | 142 ++++-
23 files changed, 1806 insertions(+), 603 deletions(-)
1 Beat Bolli
1 Donald Chai
1 Douglas Livingstone
1 Hugo Schmitt
1 Jiri Jaburek
43 Jonas Fonseca
2 Petr Uzel
2 Rich Healey
1 Ryan Schlesinger
8 Samuel Bronson
3 Valentin Haenel
1 Victor Foitzik
7 Vivien Didelot
1 Štěpán Němec
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.
Improvements:
bind diff F :set diff-options = --full-diff
. (GH #69, #116)set diff-options = --patience
. (GH #116)+<lineno>
. Tested in vi, vim, emacs, nano, gedit, geany. Disable
by adding set editor-line-number = no
to ~/.tigrc. (GH #118, #119)set title-overflow = 50
(GH #125)bind generic ^[v move-page-up
(GH #120)tig log
as a subcommand. (GH #146)Bug fixes:
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
Due to a bug in the handling of submodules, here is a new release of Tig. In addition to the bug fix, this new version reduces memory usage and startup time of the main view and shows the blob size in the tree view.
Note to packagers: the manual and manpage documentation files now live inside the doc/ directory and and have .asciidoc as the extension. The SITES file has been removed as its content has been merged into README.
Incompatibilities:
Improvements:
set show-file-size = units
. (GH #163)Bug fixes:
The diffstat and log summary for changes made in this release.
.gitignore | 18 +-
BUGS | 4 +-
INSTALL | 92 +++--
Makefile | 76 ++--
NEWS | 62 ++-
README | 28 +-
SITES | 7 -
asciidoc.conf | 65 ---
contrib/announcement.sh | 11 +-
contrib/aspell.dict | 18 +-
contrib/config.make | 16 +
contrib/config.make-Darwin | 5 +
contrib/tig.spec.in | 6 +-
contrib/update-release-docs.sh | 6 +-
doc/asciidoc.conf | 65 +++
doc/manual.asciidoc | 606 +++++++++++++++++++++++++
doc/tig.1.asciidoc | 195 ++++++++
doc/tigmanual.7.asciidoc | 20 +
doc/tigrc.5.asciidoc | 757 ++++++++++++++++++++++++++++++++
manual.txt | 604 -------------------------
tig.1.txt | 176 --------
tig.c | 333 +++++++++++----
tigmanual.7.txt | 20 -
tigrc.5.txt | 736 -------------------------------
24 files changed, 2119 insertions(+), 1807 deletions(-)
Dan Church (1):
Fix man page install
Jonas Fonseca (19):
Move documentation to doc directory
Rework README to include the list of online resources
Fix submodule-related setup to properly check setenv return value
Fix path to sysconfdir-based gitconfig in tig(1)
Fix HTML doc installation
Ignore *.swp files and restrict to only ignore top-level config.make
Add work-around for building manpages with Homebrew-based xmlto
Improve the installation instructions
Show blob sizes in the tree view
Ignore generated HTML files in the whole tree
Dynamically allocate commit titles to reduce memory usage
Postpone ref list lookup to the draw phase
Bypass all graph calls and memory allocations when the graph is disabled
Free graph symbols when reloading the main view
Remove the dont_free line struct flag in favor of custom help_done
Fix regression that skipped commits with no messages
Simplify the install goal and rename $(PROGS) to $(EXE)
Use capitalized Git and Tig when talking about the systems in general
tig-1.2.1
Here's a small bugfix release to fix some blush last minute changes.
Bug fixes:
The diffstat and log summary for changes made in this release.
Makefile | 2 +-
NEWS.adoc | 8 ++++++++
src/keys.c | 10 ++++++++--
src/watch.c | 2 +-
4 files changed, 18 insertions(+), 4 deletions(-)
Avinash (1):
Prevent throwing errors if single '^'(circumflex) is used in config
Jeff King (1):
Fix compilation error in watch.c
Jonas Fonseca (2):
Improve pretty printing of ',' in the help view
tig-2.0.1
Yasuharu Ozaki (1):
fix <LessThan> binding support
Here's another bug fix release that addresses an issue with loading the refs, main and grep views when gui.encoding
was set, a build failure on OS X 10.6 as well as a few other bugs reported since 2.0.1.
Improvements:
Bug fixes:
The diffstat and log summary for changes made in this release.
Makefile | 7 ++++-
NEWS.adoc | 16 ++++++++++
compat/compat.h | 6 ++++
compat/strndup.c | 54 +++++++++++++++++++++++++++++++++
config.make.in | 1 +
configure.ac | 1 +
doc/tigrc.5.adoc | 67 +++++++++++++++++++++-------------------
include/tig/io.h | 11 +++++--
include/tig/main.h | 2 +-
include/tig/pager.h | 2 +-
include/tig/repo.h | 9 ++++--
include/tig/view.h | 2 +-
src/argv.c | 8 ++---
src/blame.c | 27 +++++++++--------
src/blob.c | 6 ++--
src/diff.c | 14 ++++-----
src/draw.c | 4 +--
src/grep.c | 12 ++++----
src/help.c | 20 ++++++++----
src/io.c | 74 +++++++++++++++++++++++++--------------------
src/keys.c | 33 ++++++++++++--------
src/log.c | 6 ++--
src/main.c | 18 ++++++-----
src/options.c | 4 ++-
src/pager.c | 6 ++--
src/prompt.c | 4 ++-
src/refs.c | 12 ++++----
src/repo.c | 46 +++++++++++++++++-----------
src/stage.c | 10 +++---
src/status.c | 16 +++++-----
src/tree.c | 22 +++++++-------
src/view.c | 17 ++++++-----
src/watch.c | 7 +++--
test/test-graph.c | 6 ++--
tools/aspell.dict | 12 ++++----
tools/release.sh | 2 +-
36 files changed, 354 insertions(+), 210 deletions(-)
Jonas Fonseca (16):
Fix auto-abbreviation of author names
Improve display of commas and spaces in the help view
Rewrite index diffing to use git-status
Group option toggle bindings together in the help view
Never show any actions for a hidden keymap
Fix infinite loop when parsing view columns
Use buffer when reading data using io_get()
Use buffer for reading view data
Ignore 'gui.encoding' and 'i18n.commitencoding' when set to 'UTF-8'
Only use the delimiter character for trimmed and unscrollable text
Improve warning for obsolete view UI options
Improve documentation of view settings in tigrc(5)
Move cursor to the first line when :0 is entered
Fix documentation of author width option
Fix release script to work for patch versions
tig-2.0.2
Vivien Didelot (2):
compat: add proper work-around for missing strndup
argv: revert part of a3079e2
I am very happy to announce that another bug fix release of Tig is now available. Among the most prominent fixes are readline completion and refreshing of view after returning from commands when refresh-mode is set to after-command. This release also improves testing so that Tig now has an actual test suite, which although being far from complete has already help to ensure more consistency and avoid regressions. For a complete list of fixes and improvements see the release notes below.
With this maintainance release out of the way I plan to merge some of the experimental features such as support for key combos that didn't get finalized for the 2.0 release.
Improvement:
:save-display <file>
prompt command to save the current display.:script <file>
prompt command for scripting the Tig UI.tig refs
. (GH #309)file-args
, rev-args
,
and cmdline-args
. They are mainly intended for testing purposes but also
allows to change the filtering arguments dynamically. (GH #306)log-options
setting for specifying default log view options.
Example: set log-options = --pretty=fuller
.:set
commands.Bug fixes:
refresh-mode=after-command
. (GH #289)find-next
when readline support is enabled. (GH #302):toggle blame-options
.pretty.format
settings that break the log view and fallback
to use the medium
format. (GH #225)The diffstat and log summary for changes made in this release.
.gitignore | 3 +-
.travis.yml | 4 +-
Makefile | 30 +-
NEWS.adoc | 43 +
contrib/tig-completion.bash | 38 +-
doc/manual.adoc | 2 +-
doc/tig.1.adoc | 19 +
doc/tigrc.5.adoc | 74 +-
include/tig/display.h | 18 +-
include/tig/graph.h | 2 +-
include/tig/io.h | 4 +-
include/tig/keys.h | 1 +
include/tig/line.h | 7 +
include/tig/options.h | 15 +-
include/tig/prompt.h | 8 +
include/tig/refdb.h | 1 +
include/tig/watch.h | 2 +-
src/argv.c | 22 +-
src/blame.c | 16 +-
src/diff.c | 4 +-
src/display.c | 206 +-
src/draw.c | 56 +-
src/grep.c | 36 +-
src/keys.c | 1 -
src/line.c | 7 +
src/log.c | 4 +-
src/main.c | 27 +-
src/options.c | 66 +-
src/parse.c | 1 -
src/prompt.c | 106 +-
src/refdb.c | 7 +-
src/refs.c | 2 +-
src/repo.c | 3 +-
src/status.c | 2 +-
src/tig.c | 42 +-
src/view.c | 109 +-
src/watch.c | 33 +-
test/README.adoc | 39 +
test/blame/default-test | 125 +
test/builtin-config.sh | 18 -
test/files/scala-js-benchmarks.tgz | Bin 0 -> 91452 bytes
.../simple.in => graph/00-simple-test} | 17 +
test/graph/01-merge-from-left-test | 26 +
test/graph/02-duplicate-parent-test | 38 +
test/graph/03-octo-merge-test | 26 +
test/graph/04-missing-bar-test | 32 +
test/graph/05-extra-pipe-test | 29 +
.../06-extra-bars-test} | 125 +
test/graph/07-multi-collapse-test | 35 +
test/graph/08-multi-collapse-2-test | 38 +
test/graph/09-parallel-siblings-test | 38 +
test/graph/10-shorter-merge-than-branch-test | 44 +
test/graph/11-new-branch-in-middle-test | 38 +
test/graph/12-cross-over-collapse-test | 38 +
...branches-with-different-middle-branch-test | 41 +
.../14-long-collapse-line-test} | 51 +
.../15-many-merges-test} | 31 +
.../16_changes.in => graph/16-changes-test} | 15 +
.../more.out => graph/17-more-merges-test} | 83 +
.../tig.in => graph/18-tig-test} | 19 +
.../tig-all.in => graph/19-tig-all-test} | 47 +-
.../20-tig-all-long-test} | 604 +-
test/graph/20-tig-all-long-test.in | Bin 0 -> 262208 bytes
test/grep/default-test | 249 +
test/log/pretty-format-test | 123 +
test/log/submodule-test | 127 +
test/main/commit-order-edge-case-test | 47 +
test/main/commit-order-edge-case-test.tgz | Bin 0 -> 2728 bytes
test/main/commit-title-overflow-test | 114 +
test/main/default-test | 144 +
test/main/pretty-raw-test | 38 +
test/main/refresh-test | 98 +
test/main/search-test | 160 +
test/main/show-changes-test | 151 +
test/main/stdin-test | 38 +
test/main/submodule-test | 130 +
test/main/util.sh | 16 +
test/main/view-split-test | 110 +
test/refs/branch-checkout-test | 106 +
test/refs/default-test | 60 +
test/refs/util.sh | 13 +
test/script/default-test | 40 +
test/status/file-name-test | 122 +
test/status/refresh-test | 251 +
.../10_shorter_merge_than_branch.in | 22 -
.../10_shorter_merge_than_branch.out | 11 -
.../11_new_branch_in_middle.in | 18 -
.../11_new_branch_in_middle.out | 9 -
.../12_cross_over_collapse.in | 18 -
.../12_cross_over_collapse.out | 9 -
...l_branches_with_different_middle_branch.in | 20 -
..._branches_with_different_middle_branch.out | 10 -
.../14_long_collapse_line.in | 40 -
test/test-graph-samples/16_changes.out | 4 -
test/test-graph-samples/1_merge_from_left.in | 10 -
test/test-graph-samples/1_merge_from_left.out | 5 -
test/test-graph-samples/2_duplicate_parent.in | 18 -
.../test-graph-samples/2_duplicate_parent.out | 9 -
test/test-graph-samples/3_octo_merge.in | 10 -
test/test-graph-samples/3_octo_merge.out | 5 -
test/test-graph-samples/4_missing_bar.in | 14 -
test/test-graph-samples/4_missing_bar.out | 7 -
test/test-graph-samples/5_extra_pipe.in | 12 -
test/test-graph-samples/5_extra_pipe.out | 6 -
test/test-graph-samples/6_extra_bars.in | 115 -
test/test-graph-samples/7_multi_collapse.in | 16 -
test/test-graph-samples/7_multi_collapse.out | 8 -
test/test-graph-samples/8_multi_collapse_2.in | 18 -
.../test-graph-samples/8_multi_collapse_2.out | 9 -
.../test-graph-samples/9_parallel_siblings.in | 18 -
.../9_parallel_siblings.out | 9 -
test/test-graph-samples/many_merges.out | 20 -
test/test-graph-samples/more.in | 72 -
test/test-graph-samples/simple.out | 6 -
test/test-graph-samples/tig-all-long.in | 14986 ----------------
test/test-graph-samples/tig-all.out | 35 -
test/test-graph-samples/tig.out | 8 -
test/tigrc/builtin-error-test | 12 +
test/tigrc/compat-error-test | 125 +
test/tigrc/env-vars-test | 39 +
test/tigrc/parse-test | 125 +
test/tigrc/tigrc-manpage-examples-test | 49 +
test/tools/libgit.sh | 242 +
test/tools/libtest.sh | 228 +
test/tools/setup-conflict.sh | 22 +
test/tools/show-results.sh | 34 +
test/{ => tools}/test-graph.c | 36 +-
test/tree/default-test | 165 +
test/unit-test-graph.sh | 19 -
tigrc | 12 +-
tools/aspell.dict | 11 +-
tools/install.sh | 2 +-
tools/release.sh | 7 +-
133 files changed, 5456 insertions(+), 16004 deletions(-)
1 Alexander Myltsev
3 John Keeping
64 Jonas Fonseca
1 Olof-Joachim Frahm
1 Sven Wegener
2 Vivien Didelot
1 hamaco
I just released version 2.1 of Tig which brings a lot of improvements to speed up usage in large repositories such as the Linux kernel repo (see improvements related to #310, #324, #350, and #368). Else this release brings minor improvements across the board plus a fair amount of bug fixes. See below for more details.
Improvements:
:exec <flags><args...>
prompt command to execute commands.set main-view-author = short
. (GH #318)%(lineno)
state variable. (GH #304)set commit-order = default
to use Git's default commit order, even when
the commit graph is enabled. The option will turn off automatic enabling of
--topo-order
when the graph is shown in the main view. (GH #310, #324)main-options
setting for specifying default main view options.
Example: set main-options = --max-count=1000
. (GH #368)contrib/large-repo.tigrc
for settings that will help to speed up Tig in
large repos. (GH #368):save-options <file>
prompt command to save config to file. (GH #315)Bug fixes:
--first-parent
. (GH #326)$(abspath)
. (GH #362)bind generic <Ctrl-f> :!git log -G"%(prompt Prompt: )"
(GH #371)The diffstat and log summary for changes made in this release.
INSTALL.adoc | 8 +
Makefile | 25 +-
NEWS.adoc | 51 +-
README.adoc | 3 +-
contrib/config.make-CYGWIN_NT-6.1 | 5 +-
contrib/config.make-Darwin | 10 +-
contrib/large-repo.tigrc | 20 +
doc/manual.adoc | 41 +-
doc/tigrc.5.adoc | 77 +-
include/tig/argv.h | 36 +-
include/tig/blame.h | 2 +-
include/tig/blob.h | 2 +-
include/tig/diff.h | 9 +-
include/tig/display.h | 5 +-
include/tig/draw.h | 4 +-
include/tig/git.h | 16 +-
include/tig/graph.h | 87 +-
include/tig/grep.h | 2 +-
include/tig/help.h | 2 +-
include/tig/io.h | 3 +-
include/tig/keys.h | 21 +-
include/tig/line.h | 7 +-
include/tig/log.h | 2 +-
include/tig/main.h | 8 +-
include/tig/map.h | 63 ++
include/tig/options.h | 47 +-
include/tig/pager.h | 2 +-
include/tig/parse.h | 2 +-
include/tig/prompt.h | 3 +-
include/tig/refdb.h | 28 +-
include/tig/refs.h | 2 +-
include/tig/repo.h | 4 +-
include/tig/request.h | 10 +-
include/tig/stage.h | 2 +-
include/tig/stash.h | 2 +-
include/tig/status.h | 2 +-
include/tig/string.h | 10 +-
include/tig/tig.h | 5 +-
include/tig/tree.h | 2 +-
include/tig/types.h | 21 +-
include/tig/util.h | 4 +-
include/tig/view.h | 13 +-
include/tig/watch.h | 2 +-
src/argv.c | 203 +++--
src/blame.c | 16 +-
src/blob.c | 28 +-
src/diff.c | 111 ++-
src/display.c | 40 +-
src/draw.c | 73 +-
src/graph-v1.c | 504 +++++++++++
src/graph-v2.c | 1117 ++++++++++++++++++++++++
src/graph.c | 989 +--------------------
src/grep.c | 9 +-
src/help.c | 121 +--
src/io.c | 24 +-
src/keys.c | 211 ++++-
src/line.c | 17 +-
src/log.c | 2 +-
src/main.c | 162 ++--
src/map.c | 122 +++
src/options.c | 364 ++++++--
src/pager.c | 42 +-
src/parse.c | 112 +--
src/prompt.c | 182 ++--
src/refdb.c | 308 ++++---
src/refs.c | 15 +-
src/repo.c | 36 +-
src/request.c | 2 +-
src/stage.c | 39 +-
src/stash.c | 2 +-
src/status.c | 47 +-
src/string.c | 2 +-
src/tig.c | 61 +-
src/tree.c | 2 +-
src/types.c | 10 +-
src/util.c | 2 +-
src/view.c | 271 +++++-
src/watch.c | 4 +-
test/README.adoc | 7 +-
test/blame/default-test | 42 +-
test/blame/start-on-line-test | 50 ++
test/diff/diff-context-test | 213 +++++
test/diff/editor-test | 61 ++
test/diff/start-on-line-test | 45 +
test/grep/default-test | 8 +-
test/grep/editor-test | 50 ++
test/grep/start-on-line-test | 50 ++
test/help/all-keybindings-test | 129 +++
test/help/default-test | 117 +++
test/log/pretty-format-test | 3 +-
test/log/start-on-line-test | 44 +
test/log/submodule-test | 7 +-
test/main/boundary-test | 37 +
test/main/commit-order-edge-case-test | 1 -
test/main/commit-title-overflow-test | 5 +-
test/main/default-test | 2 +-
test/main/graph-argument-test | 68 ++
test/main/main-options-test | 38 +
test/main/no-matching-commmits-test | 25 +
test/main/refresh-test | 27 +-
test/main/search-test | 1 -
test/main/show-changes-test | 45 +-
test/main/start-on-line-test | 48 +
test/main/submodule-test | 5 +-
test/main/update-unstaged-changes-test | 42 +
test/main/util.sh | 2 +-
test/main/view-split-test | 35 +-
test/refs/branch-checkout-test | 77 +-
test/refs/default-test | 38 +-
test/refs/refresh-test | 104 +++
test/refs/replace-test | 80 ++
test/refs/start-on-line-test | 50 ++
test/regressions/github-370-test | 18 +
test/script/default-test | 4 +-
test/stage/default-test | 245 ++++++
test/stash/start-on-line-test | 57 ++
test/status/file-name-test | 3 +-
test/status/on-branch-test | 179 ++++
test/status/refresh-test | 29 +-
test/status/start-on-line-test | 45 +
test/status/untracked-files-test | 79 ++
test/tigrc/builtin-error-test | 2 +-
test/tigrc/compat-error-test | 2 +-
test/tigrc/contrib-tigrc-test | 26 +
test/tigrc/env-vars-test | 2 +-
test/tigrc/parse-test | 16 +-
test/tigrc/quote-test | 63 ++
test/tigrc/save-option-test | 29 +
test/tigrc/tigrc-manpage-examples-test | 2 +-
test/tigrc/view-column-test | 64 ++
test/tools/libgit.sh | 7 +-
test/tools/libtest.sh | 200 ++++-
test/tools/setup-conflict.sh | 14 +-
test/tools/test-graph.c | 46 +-
test/tree/default-test | 2 +-
tigrc | 22 +-
tools/aspell.dict | 10 +-
tools/doc-gen.c | 2 +-
tools/header.h | 2 +-
139 files changed, 6381 insertions(+), 2265 deletions(-)
1 Aaron Lindsay
6 Charles Bailey
1 Islam Azab
5 Jeff King
108 Jonas Fonseca
1 Peter Dave Hello
1 The Gitter Badger
1 Tom Greuter
This release fixes a couple of regressions that broke rendering of references in the main view and usage of the stage view. It also adds support for key combos which was originally planed for 2.1 (see contrib/vim.tigrc for an example). Finally, files (or blobs) can now be searched using the new GitHub-inspired file finder (press 'f' to launch it).
Improvements:
contrib/vim.tigrc
for Vim-like keybindings. (GH #273, #351)search
keymap for navigation file finder search results.Bug fixes:
The diffstat and log summary for changes made in this release.
.gitignore | 3 +
COPYING | 39 ++--
Makefile | 45 ++++-
NEWS.adoc | 16 ++
README.adoc | 2 +-
config.make.in | 5 +-
configure.ac | 5 +
contrib/vim.tigrc | 73 ++++++++
doc/tigrc.5.adoc | 3 +-
include/tig/blob.h | 7 +-
include/tig/display.h | 2 +-
include/tig/keys.h | 10 +-
include/tig/main.h | 2 +
include/tig/prompt.h | 1 +
include/tig/ui.h | 20 ++
src/blob.c | 29 ++-
src/display.c | 19 +-
src/keys.c | 56 ++++--
src/main.c | 20 ++
src/options.c | 2 +-
src/prompt.c | 25 +--
src/refdb.c | 21 ++-
src/stage.c | 22 +--
src/status.c | 2 +
src/tig.c | 58 ++++--
src/ui.c | 304 +++++++++++++++++++++++++++++++
test/help/all-keybindings-test | 10 +-
test/help/default-test | 14 +-
test/main/graph-argument-test | 28 +--
test/main/show-changes-test | 24 +++
test/main/start-on-line-test | 42 ++---
test/main/view-split-test | 18 +-
test/regressions/github-390-test | 41 +++++
test/status/file-name-test | 8 +-
test/tigrc/compat-error-test | 2 -
test/tigrc/parse-test | 4 +-
tigrc | 7 +
tools/aspell.dict | 12 +-
tools/gcov.m4 | 94 ++++++++++
39 files changed, 912 insertions(+), 183 deletions(-)
Alexander Sulfrian (1):
Fix insertion/ordering of refs in refs_by_id map.
Andreas Stieger (1):
Update FSF address in COPYING
Jonas Fonseca (12):
Remove Gitweb link in favour of Gitter
Integrate coverage reporting for the test suite
Experimental support for key combos
Fix user-action prompt display regression
Add key_to_value helper to extract the ncurses key value
Add GitHub inspired file finder to search for and open any file
Fix regression test to exec git-tag in background
Fix display saving to account for variable length UTF-8 characters
When redrawing the readline prompt also update the cursor position
Keep unstaged changes view open after an staging command
Add search keymap with keys for navigating search results
tig-2.1.1
Ramsay Jones (1):
Fix segmentation Fault on 32-bit
Vivien Didelot (1):
contrib: complete Vim-like bindings
A little over 8 years ago the first version of Tig was released. To celebrate the many years with this cursed Git interface, here is a fresh new installment. Version 2.0 of Tig brings several configuration improvements, some of which unfortunately also breaks backwards compatibility with respect to the configuration file. Among view related changes, the branch view has been renamed to the refs view and now also shows tags, the log view now highlights diff stats and supports --graph, and the new grep view allows to quickly jump between matching files. This release also adds mouse support, improvements to the graph rendering, and readline support in the prompt. Please read the release notes below for more information and upgrade instructions.
Thanks to everybody who contributed to this release.
Note to packagers:
.adoc
extension to AsciiDoc files so they show correctly on GitHub.
This includes README
, INSTALL
, and NEWS
and files in doc/
directory.BUGS
file has been merged into README.adoc
.tigrc
file, which is
installed to ${sysconfdir} by default. The content of the tigrc
file is
included inside the binary as a fall-back. Pass NO_BUILTIN_TIGRC=y
to not
include the system tigrc
content and reduce the size of the binary.contrib/tigrc
file (made obsolete by tigrc
) has been removed.src
and include
and tig.c
was split up.make V=1
for old output.Incompatibilities:
Up
and Down
) must now start with <
and end with >
, e.g. <Up>
and
<Down>
. Furthermore, escape key combos must now use <Esc>key
instead of
^[key
, and control key mappings must now use <Ctrl-key>
instead of
^key
.git gc
. Add the following line to ~/.tigrc
to restore it: bind generic G ?git gc
.<at>
by default) to also work in the diff view.*-view
options in
tigrc. Existing options are no longer recognized, but a warning is shown.contrib/bindings-v1.x.tigrc
. (GH #257)Improvements:
tig grep -p strchr
. From
within Tig, the key for switching or grepping is bound to 'g' by default.git reflog --pretty=raw | tig --pretty=raw
.--graph
and highlight diff stats in the log view.!
to delete branch, !
to drop stash.refresh-mode
to 'manual', 'auto', 'after-command', or 'periodic'. (GH #190)tigrc
.:toggle
prompt command to manipulate options using keybindings. For
example: bind diff D :toggle diff-options --patience --notes
. (GH #69)tigrc
file, e.g.: TIGRC_SYSTEM=~/.tigrc.safe tig
. Set
TIGRC_SYSTEM
to the empty string to use built-in configuration instead of<Ctrl-f>
and
<Ctrl-F>
. (GH #218)bind <keymap> <key> :<prompt>
)
to support predefined searches, eg.: bind stage 2 :?^ <at> <at>
.set reference-format = (branch) <tags> remote
. (GH #201)color stage.diff-add yellow default
.-S
, -G
and --grep=
pattern to search buffer so 'find-next' and
'find-prev' work as expected.%(prompt)
in shell commands, e.g.
bind main B ?git checkout -b "%(prompt Enter new branch name: )"
.%(remote)
and %(tag)
symbols to complement %(branch)
.?git checkout -b %(branch)
.tigrc
configuration. (GH #235)Bug fixes:
--reverse
, -S
, -G
, and --grep
are passed to the main view. (GH #127)--unidiff-zero
and a diff context of zero. (GH #130)The diffstat and log summary for changes made in this release.
.gitignore | 26 +-
.travis.yml | 18 +
BUGS | 8 -
INSTALL => INSTALL.adoc | 15 +-
Makefile | 241 +-
NEWS => NEWS.adoc | 118 +
README | 24 -
README.adoc | 40 +
autogen.sh | 8 +-
compat/ansidecl.h | 313 +
compat/compat.h | 3 +-
compat/hashtab.c | 1001 +
compat/hashtab.h | 209 +
compat/mkstemps.c | 2 +-
compat/setenv.c | 2 +-
config.make.in | 3 +-
configure.ac | 10 +-
contrib/bindings-v1.x.tigrc | 23 +
contrib/config.make | 11 +-
contrib/config.make-CYGWIN_NT-6.1 | 19 +
contrib/config.make-Darwin | 8 +
contrib/tig-completion.bash | 9 +-
contrib/tig.spec.in | 10 +-
contrib/tigrc | 76 -
doc/{manual.asciidoc => manual.adoc} | 30 +-
doc/{tig.1.asciidoc => tig.1.adoc} | 107 +-
doc/{tigmanual.7.asciidoc => tigmanual.7.adoc} | 2 +-
doc/tigrc.5.adoc | 963 +
doc/tigrc.5.asciidoc | 757 -
graph.c | 412 -
include/tig/argv.h | 73 +
contrib/header.h => include/tig/blame.h | 18 +-
contrib/header.h => include/tig/blob.h | 18 +-
include/tig/diff.h | 43 +
include/tig/display.h | 62 +
include/tig/draw.h | 45 +
git.h => include/tig/git.h | 26 +-
graph.h => include/tig/graph.h | 41 +-
contrib/header.h => include/tig/grep.h | 13 +-
contrib/header.h => include/tig/help.h | 18 +-
io.h => include/tig/io.h | 46 +-
include/tig/keys.h | 84 +
include/tig/line.h | 130 +
contrib/header.h => include/tig/log.h | 18 +-
include/tig/main.h | 56 +
include/tig/options.h | 194 +
include/tig/pager.h | 34 +
include/tig/parse.h | 67 +
include/tig/prompt.h | 47 +
refs.h => include/tig/refdb.h | 36 +-
contrib/header.h => include/tig/refs.h | 18 +-
include/tig/repo.h | 37 +
include/tig/request.h | 116 +
contrib/header.h => include/tig/stage.h | 16 +-
contrib/header.h => include/tig/stash.h | 18 +-
include/tig/status.h | 53 +
include/tig/string.h | 123 +
include/tig/tig.h | 151 +
include/tig/tree.h | 30 +
include/tig/types.h | 165 +
include/tig/util.h | 126 +
include/tig/view.h | 356 +
include/tig/watch.h | 58 +
refs.c | 250 -
src/argv.c | 487 +
src/blame.c | 518 +
src/blob.c | 133 +
src/diff.c | 440 +
src/display.c | 527 +
src/draw.c | 661 +
src/graph.c | 999 +
src/grep.c | 263 +
src/help.c | 301 +
io.c => src/io.c | 373 +-
src/keys.c | 438 +
src/line.c | 208 +
src/log.c | 156 +
src/main.c | 514 +
src/options.c | 1067 +
src/pager.c | 233 +
src/parse.c | 330 +
src/prompt.c | 892 +
src/refdb.c | 398 +
src/refs.c | 202 +
src/repo.c | 136 +
src/request.c | 69 +
src/stage.c | 562 +
src/stash.c | 57 +
src/status.c | 748 +
src/string.c | 372 +
src/tig.c | 735 +
src/tree.c | 486 +
src/types.c | 116 +
src/util.c | 325 +
src/view.c | 1488 ++
src/watch.c | 276 +
test/builtin-config.sh | 18 +
.../10_shorter_merge_than_branch.in | 22 +
.../10_shorter_merge_than_branch.out | 11 +
test/test-graph-samples/11_new_branch_in_middle.in | 18 +
.../test-graph-samples/11_new_branch_in_middle.out | 9 +
test/test-graph-samples/12_cross_over_collapse.in | 18 +
test/test-graph-samples/12_cross_over_collapse.out | 9 +
...rallel_branches_with_different_middle_branch.in | 20 +
...allel_branches_with_different_middle_branch.out | 10 +
test/test-graph-samples/14_long_collapse_line.in | 40 +
test/test-graph-samples/14_long_collapse_line.out | 20 +
test/test-graph-samples/16_changes.in | 8 +
test/test-graph-samples/16_changes.out | 4 +
test/test-graph-samples/1_merge_from_left.in | 10 +
test/test-graph-samples/1_merge_from_left.out | 5 +
test/test-graph-samples/2_duplicate_parent.in | 18 +
test/test-graph-samples/2_duplicate_parent.out | 9 +
test/test-graph-samples/3_octo_merge.in | 10 +
test/test-graph-samples/3_octo_merge.out | 5 +
test/test-graph-samples/4_missing_bar.in | 14 +
test/test-graph-samples/4_missing_bar.out | 7 +
test/test-graph-samples/5_extra_pipe.in | 12 +
test/test-graph-samples/5_extra_pipe.out | 6 +
test/test-graph-samples/6_extra_bars.in | 115 +
test/test-graph-samples/6_extra_bars.out | 57 +
test/test-graph-samples/7_multi_collapse.in | 16 +
test/test-graph-samples/7_multi_collapse.out | 8 +
test/test-graph-samples/8_multi_collapse_2.in | 18 +
test/test-graph-samples/8_multi_collapse_2.out | 9 +
test/test-graph-samples/9_parallel_siblings.in | 18 +
test/test-graph-samples/9_parallel_siblings.out | 9 +
test/test-graph-samples/many_merges.in | 65 +
test/test-graph-samples/many_merges.out | 20 +
test/test-graph-samples/more.in | 72 +
test/test-graph-samples/more.out | 36 +
test/test-graph-samples/simple.in | 22 +
test/test-graph-samples/simple.out | 6 +
test/test-graph-samples/tig-all-long.in |14986 ++++++++++++
test/test-graph-samples/tig-all-long.out | 1517 ++
test/test-graph-samples/tig-all.in | 286 +
test/test-graph-samples/tig-all.out | 35 +
test/test-graph-samples/tig.in | 28 +
test/test-graph-samples/tig.out | 8 +
test-graph.c => test/test-graph.c | 23 +-
test/unit-test-graph.sh | 19 +
tig.c | 9043 -------
tig.h | 622 -
tigrc | 386 +
{contrib => tools}/announcement.sh | 8 +-
{contrib => tools}/aspell.dict | 16 +-
tools/ax_lib_readline.m4 | 223 +
{contrib => tools}/ax_with_curses.m4 | 0
tools/doc-gen.c | 84 +
{contrib => tools}/header.h | 2 +-
tools/install.sh | 49 +
tools/make-builtin-config.sh | 40 +
{contrib => tools}/release.sh | 11 +-
{contrib => tools}/update-release-docs.sh | 2 +-
154 files changed, 38086 insertions(+), 11640 deletions(-)
1 Andreas Schlick
1 Beat Bolli
1 Benjamin Bergman
1 Ciro Santilli
1 Dmitry Malikov
1 Ed Bruck
3 Jeff King
399 Jonas Fonseca 3 Kumar Appaiah 1 LCD 47 1 Lau Ching Jun 1 Michael Barlow 1 Oliver Chang 1 Pat Tullmann 4 Sven Wegener 3 Vivien Didelot 1 hasufell