threads / announce / 30493

[ANNOUNCE] tig-1.0

Subject: [ANNOUNCE] tig-1.0

## tl;dr

10 messages between May 10, 2012 and Sep 25, 2012.

replies: 9people: 2as markdown or json

Jonas Fonseca· May 10, 2012, 13:44 UTC · lore
Hello,

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

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.

 - Homepage:	http://jonas.nitro.dk/tig/
 - Manual:	http://jonas.nitro.dk/tig/manual.html
 - Tarballs:	http://jonas.nitro.dk/tig/releases/
 - Git URL:	git://github.com/jonas/tig.git 
 - Gitweb:	http://repo.or.cz/w/tig.git

Release notes ------------- 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 +<lineno> to open the initial view at an arbitrary line. (GH #20)
 - 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 <path>' command to load additional files from ~/.tigrc
 - User-defined commands prefixed with '@' are run with no console
   output, e.g.
   	bind generic 3 !@rm sys$command
 - 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:
 - Fix navigation behavior when going from branch to main view. (GH #38)
 - Fix segfault when sorting the tree view by author name.
 - Fix diff stat navigation for unmodified files with stat changes.
 - Show branches/refs which names are a substring of the current branch.
 - Stage view: fix off-by-one error when jumping to a file in a diff
   with only one file.
 - Fix diff-header colorization. (GH #15)

Change summary -------------- 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
-- 
Jonas Fonseca
Jean-Baptiste Quenot· Sep 7, 2012, 13:41 UTC · re: Jonas Fonseca · lore

Re: [ANNOUNCE] tig-1.0

Hi Jonas,
With tig 1.0 how to feed specific revisions to the main view?
The following hack worked until tig 0.17:
[alias]
        tignowalk-helper = !git rev-list --pretty=raw --no-walk --stdin<
TIG_MAIN_CMD="git tignowalk-helper $tmp" tig </dev/tty
Cheers,
JB
2012/5/10 Jonas Fonseca <fonseca@diku.dk>:
Show 133 quoted lines
> Hello,
>
> 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
>
> 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.
>
>  - Homepage:    http://jonas.nitro.dk/tig/
>  - Manual:      http://jonas.nitro.dk/tig/manual.html
>  - Tarballs:    http://jonas.nitro.dk/tig/releases/
>  - Git URL:     git://github.com/jonas/tig.git
>  - Gitweb:      http://repo.or.cz/w/tig.git
>
> Release notes
> -------------
> 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 +<lineno> to open the initial view at an arbitrary line. (GH #20)
>  - 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 <path>' command to load additional files from ~/.tigrc
>  - User-defined commands prefixed with '@' are run with no console
>    output, e.g.
>
>         bind generic 3 !@rm sys$command
>
>  - 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:
>
>  - Fix navigation behavior when going from branch to main view. (GH #38)
>  - Fix segfault when sorting the tree view by author name.
>  - Fix diff stat navigation for unmodified files with stat changes.
>  - Show branches/refs which names are a substring of the current branch.
>  - Stage view: fix off-by-one error when jumping to a file in a diff
>    with only one file.
>  - Fix diff-header colorization. (GH #15)
>
> Change summary
> --------------
> 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
>
> --
> Jonas Fonseca
> --
> To unsubscribe from this list: send the line "unsubscribe git" in
> the body of a message to majordomo@vger.kernel.org
> More majordomo info at  http://vger.kernel.org/majordomo-info.html
-- 
Jean-Baptiste Quenot
Jonas Fonseca· Sep 7, 2012, 18:48 UTC · re: Jean-Baptiste Quenot · lore

Re: [ANNOUNCE] tig-1.0

On Fri, Sep 7, 2012 at 9:41 AM, Jean-Baptiste Quenot <jbq@caraldi.com> wrote:
> Hi Jonas,
Hello Jean-Baptiste
Show 8 quoted lines
> With tig 1.0 how to feed specific revisions to the main view?
>
> The following hack worked until tig 0.17:
>
> [alias]
>         tignowalk-helper = !git rev-list --pretty=raw --no-walk --stdin<
>
> TIG_MAIN_CMD="git tignowalk-helper $tmp" tig </dev/tty

The possibility to specify commands was removed in favor of improving options given on the command line. In this spirit, I suggest to support something like the following:

    tig --no-walk --stdin < tmp-file
Would that cover your use case?
-- 
Jonas Fonseca
Jean-Baptiste Quenot· Sep 11, 2012, 19:24 UTC · re: Jonas Fonseca · lore

Re: [ANNOUNCE] tig-1.0

2012/9/7 Jonas Fonseca <fonseca@diku.dk>:
Show 21 quoted lines
> On Fri, Sep 7, 2012 at 9:41 AM, Jean-Baptiste Quenot <jbq@caraldi.com> wrote:
>> Hi Jonas,
>
> Hello Jean-Baptiste
>
>> With tig 1.0 how to feed specific revisions to the main view?
>>
>> The following hack worked until tig 0.17:
>>
>> [alias]
>>         tignowalk-helper = !git rev-list --pretty=raw --no-walk --stdin<
>>
>> TIG_MAIN_CMD="git tignowalk-helper $tmp" tig </dev/tty
>
> The possibility to specify commands was removed in favor of improving
> options given on the command line. In this spirit, I suggest to
> support something like the following:
>
>     tig --no-walk --stdin < tmp-file
>
> Would that cover your use case?

That would be great! I would then feed tig with all commits I want to see in the main view.

Cheers,
-- 
Jean-Baptiste Quenot
Jonas Fonseca· Sep 16, 2012, 00:32 UTC · re: Jean-Baptiste Quenot · lore

Re: [ANNOUNCE] tig-1.0

On Tue, Sep 11, 2012 at 3:24 PM, Jean-Baptiste Quenot <jbq@caraldi.com> wrote:
Show 9 quoted lines
> 2012/9/7 Jonas Fonseca <fonseca@diku.dk>:
>> [snip] I suggest to support something like the following:
>>
>>     tig --no-walk --stdin < tmp-file
>>
>> Would that cover your use case?
>
> That would be great!  I would then feed tig with all commits I want to
> see in the main view.

When you have time, please test the main-view-with-stdin branch in git://github.com/jonas/tig.git

-- 
Jonas Fonseca
Jean-Baptiste Quenot· Sep 24, 2012, 10:06 UTC · re: Jonas Fonseca · lore

Re: [ANNOUNCE] tig-1.0

Yes it works great, thanks!
2012/9/16 Jonas Fonseca <fonseca@diku.dk>:
Show 16 quoted lines
> On Tue, Sep 11, 2012 at 3:24 PM, Jean-Baptiste Quenot <jbq@caraldi.com> wrote:
>> 2012/9/7 Jonas Fonseca <fonseca@diku.dk>:
>>> [snip] I suggest to support something like the following:
>>>
>>>     tig --no-walk --stdin < tmp-file
>>>
>>> Would that cover your use case?
>>
>> That would be great!  I would then feed tig with all commits I want to
>> see in the main view.
>
> When you have time, please test the main-view-with-stdin branch in
> git://github.com/jonas/tig.git
>
> --
> Jonas Fonseca
-- 
Jean-Baptiste Quenot
Jean-Baptiste Quenot· Sep 24, 2012, 14:29 UTC · re: Jean-Baptiste Quenot · lore

Re: [ANNOUNCE] tig-1.0

There's a small glitch however: when some git command returns an error (for example when typing 'M' for merge in main view) the main view displays the tip of the current branch, instead of the list of revisions passed in stdin.

2012/9/24 Jean-Baptiste Quenot <jbq@caraldi.com>:
Show 24 quoted lines
> Yes it works great, thanks!
>
> 2012/9/16 Jonas Fonseca <fonseca@diku.dk>:
>> On Tue, Sep 11, 2012 at 3:24 PM, Jean-Baptiste Quenot <jbq@caraldi.com> wrote:
>>> 2012/9/7 Jonas Fonseca <fonseca@diku.dk>:
>>>> [snip] I suggest to support something like the following:
>>>>
>>>>     tig --no-walk --stdin < tmp-file
>>>>
>>>> Would that cover your use case?
>>>
>>> That would be great!  I would then feed tig with all commits I want to
>>> see in the main view.
>>
>> When you have time, please test the main-view-with-stdin branch in
>> git://github.com/jonas/tig.git
>>
>> --
>> Jonas Fonseca
>
>
>
> --
> Jean-Baptiste Quenot
-- 
Jean-Baptiste Quenot
Jean-Baptiste Quenot· Sep 24, 2012, 14:57 UTC · re: Jean-Baptiste Quenot · lore

Re: [ANNOUNCE] tig-1.0

This actually happens everytime I run a git command with a key binding, be it successful or not. The main view is restored to the tip of the current branch.

2012/9/24 Jean-Baptiste Quenot <jbq@caraldi.com>:
Show 35 quoted lines
> There's a small glitch however: when some git command returns an error
> (for example when typing 'M' for merge in main view) the main view
> displays the tip of the current branch, instead of the list of
> revisions passed in stdin.
>
> 2012/9/24 Jean-Baptiste Quenot <jbq@caraldi.com>:
>> Yes it works great, thanks!
>>
>> 2012/9/16 Jonas Fonseca <fonseca@diku.dk>:
>>> On Tue, Sep 11, 2012 at 3:24 PM, Jean-Baptiste Quenot <jbq@caraldi.com> wrote:
>>>> 2012/9/7 Jonas Fonseca <fonseca@diku.dk>:
>>>>> [snip] I suggest to support something like the following:
>>>>>
>>>>>     tig --no-walk --stdin < tmp-file
>>>>>
>>>>> Would that cover your use case?
>>>>
>>>> That would be great!  I would then feed tig with all commits I want to
>>>> see in the main view.
>>>
>>> When you have time, please test the main-view-with-stdin branch in
>>> git://github.com/jonas/tig.git
>>>
>>> --
>>> Jonas Fonseca
>>
>>
>>
>> --
>> Jean-Baptiste Quenot
>
>
>
> --
> Jean-Baptiste Quenot
-- 
Jean-Baptiste Quenot
Jonas Fonseca· Sep 24, 2012, 15:19 UTC · re: Jean-Baptiste Quenot · lore

Re: [ANNOUNCE] tig-1.0

On Mon, Sep 24, 2012 at 10:57 AM, Jean-Baptiste Quenot <jbq@caraldi.com> wrote:
> This actually happens everytime I run a git command with a key
> binding, be it successful or not.  The main view is restored to the
> tip of the current branch.

If I have understood the problem correctly, you have a keybinding mapping 'M' to `git merge %(commit)` or something like that and when you type 'M', tig will list the commits in the master branch after executing the external command.

I didn't account for this in the patch, and I will have to figure out a way to disable the current behavior of reloading the main view after executing an external command.

-- 
Jonas Fonseca
Jean-Baptiste Quenot· Sep 25, 2012, 07:46 UTC · re: Jonas Fonseca · lore

Re: [ANNOUNCE] tig-1.0

2012/9/24 Jonas Fonseca <fonseca@diku.dk>:
Show 9 quoted lines
>
> If I have understood the problem correctly, you have a keybinding
> mapping 'M' to `git merge %(commit)` or something like that and when
> you type 'M', tig will list the commits in the master branch after
> executing the external command.
>
> I didn't account for this in the patch, and I will have to figure out
> a way to disable the current behavior of reloading the main view after
> executing an external command.

Yes, actually you can test with existing key bindings like cherry pick (C). The main view is reloaded with the tip of the current branch, as if the no-walk option was correctly taken into account, but not the list of commits in stdin.

Cheers,
-- 
Jean-Baptiste Quenot

← back to recent threads