Re: [tig] [PATCHv2 3/3] log: Colour the diff stat

2014-04-16 Thread Jonas Fonseca
On Sun, Apr 13, 2014 at 5:54 PM, Kumar Appaiah
a.ku...@alumni.iitm.ac.in wrote:

 This commit adds custom log_read and log_draw functions that utilize
 the diff stat drawing functions from the diff module. The absence of
 the triple hyphen separator prevents direct usage of the diff drawing
 functions directly.

See my comments below.

 ---
  src/log.c | 55 +--
  1 file changed, 53 insertions(+), 2 deletions(-)

 diff --git a/src/log.c b/src/log.c
 index 40c9a21..468f7c3 100644
 --- a/src/log.c
 +++ b/src/log.c
 @@ -23,6 +23,9 @@ struct log_state {
  * up/down in the log view. */
 int last_lineno;
 enum line_type last_type;
 +   bool commit_title_read;
 +   bool after_commit_header;
 +   bool reading_diff_stat;
  };

  static void
 @@ -78,14 +81,62 @@ log_request(struct view *view, enum request request, 
 struct line *line)
 }
  }

 +static bool
 +log_read(struct view *view, char *data)
 +{
 +   enum line_type type;
 +   struct log_state *state = view-private;
 +   size_t len;
 +
 +   if (!data)
 +   return TRUE;
 +
 +   type = get_line_type(data);
 +   len = strlen(data);
 +
 +   if (type == LINE_COMMIT)
 +   state-commit_title_read = TRUE;
 +   else if (state-commit_title_read  len  1) {
 +   state-commit_title_read = FALSE;
 +   state-after_commit_header = TRUE;
 +   } else if (state-after_commit_header  len  1) {
 +   state-after_commit_header = FALSE;
 +   state-reading_diff_stat = TRUE;
 +   } else if (state-reading_diff_stat) {
 +   bool ret = diff_common_add_diff_stat(view, data);
 +   if (ret) {
 +   return TRUE;
 +   } else {
 +   state-reading_diff_stat = FALSE;
 +   }
 +   }
 +
 +   return pager_common_read(view, data, type);
 +}
 +
 +static bool
 +log_draw(struct view *view, struct line *line, unsigned int lineno)
 +{
 +   char *text = line-data;
 +   enum line_type type = line-type;
 +

This is missing a call to draw_lineno(...)

 +   if (type == LINE_DIFF_STAT) {
 +   diff_common_draw_diff_stat(view, type, text);
 +   draw_text(view, type, text);

I had to #include tig/draw.h for this to compile.

 +   return TRUE;
 +   }
 +
 +   return pager_draw(view, line, lineno);
 +}
 +
  static struct view_ops log_ops = {
 line,
 argv_env.head,
 VIEW_ADD_PAGER_REFS | VIEW_OPEN_DIFF | VIEW_SEND_CHILD_ENTER | 
 VIEW_LOG_LIKE | VIEW_REFRESH,
 sizeof(struct log_state),
 log_open,
 -   pager_read,
 -   pager_draw,
 +   log_read,
 +   log_draw,
 log_request,
 pager_grep,
 log_select,
 --
 1.9.1




-- 
Jonas Fonseca
--
To unsubscribe from this list: send the line unsubscribe git in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


Re: [tig] [PATCHv2 0/3] log: colour the diffstat

2014-04-16 Thread Jonas Fonseca
Hi Kumar,

On Sun, Apr 13, 2014 at 5:54 PM, Kumar Appaiah
a.ku...@alumni.iitm.ac.in wrote:

 These patches add colourization to the log view. They reuse the diff
 stat drawing functions from the diff module directly.

This is a great idea. I wonder though if it would make sense to put
this into the pager backend instead so all pager based views can
benefit unless of course the state machine would end up becoming too
complicated.

 This version just includes some code reformatting and minor
 fixes. Please comment on what other fixes could help.

See my other email regarding fixes. Since I am currently refactoring
how views are drawn I'd prefer to postpone merging this patchset until
the dust has settled. I'll try to rebase the patches once I get there
before reaching out to you.

-- 
Jonas Fonseca
--
To unsubscribe from this list: send the line unsubscribe git in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


[ANNOUNCE] tig-2.0

2014-04-29 Thread Jonas Fonseca
 +
 ...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

-- 
Jonas Fonseca
--
To unsubscribe from this list: send the line unsubscribe git in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


[ANNOUNCE] tig-2.0.1

2014-04-30 Thread Jonas Fonseca
Here's a small bugfix release to fix some *blush* last minute changes.

Release notes
-
Bug fixes:

 - Fix compilation in watch.c.
 - Fix parsing of key bindings mapped to '^' and ''. (GH #280, #282)

Change summary
--
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

-- 
Jonas Fonseca
--
To unsubscribe from this list: send the line unsubscribe git in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


[ANNOUNCE] tig-2.0.2

2014-05-08 Thread Jonas Fonseca
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.

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.

Resources
-
 - 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
 - QA: http://stackoverflow.com/questions/tagged/tig

Release notes
-
Improvements:

 - Use git-status for diffing the index.
 - Group toggle options together in the help view.

Bug fixes:

 - Fix refs, main and grep loading when 'gui.encoding' is set. (GH #287)
 - Ignore 'gui.encoding' and 'i18n.commitencoding' when set to 'UTF-8'.
 - Add work-around for missing strndup() on Mac OS X v10.6. (GH #286)
 - Fix spurious abbreviation of author names. (GH #288)
 - Don't show empty action groups in the help view.

Change summary
--
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

-- 
Jonas Fonseca
--
To unsubscribe from this list: send the line unsubscribe git in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


[ANNOUNCE] tig-2.0.3

2014-08-28 Thread Jonas Fonseca
 -
 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


-- 
Jonas Fonseca
--
To unsubscribe from this list: send the line unsubscribe git in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


Re: tig: Improving startup time and interactivity

2014-11-12 Thread Jonas Fonseca
On Tue, Nov 11, 2014 at 3:50 AM, Dominik Vogt v...@linux.vnet.ibm.com wrote:
 Hi Jonas,

HI Dominik,

Good to hear from you.

 working on a relatively old machine with a crypted disk, there are
 really two performance problems with tig on large repos like gcc
 or the Linux kernel.  I wonder what would be necessary to improve
 these two problems:

  1) Firing up tig for the first time in the kernel repo, the screen
 goes blank for about a minute.  After that it comes up
 quickly.  This is probably caused by decrypting lots of
 on-disk-objects.

You are not alone at reporting this problem. The main reason is that
when the revision graph is enabled, tig automatically passes
--topo-order to git-log. This commit order seems to cause quite a slow
down before the first commits are available in the output in the Linux
kernel repo, I assume, due to its many merges.

I recently added an option to disable the automatic forcing of
topological commit order. So assuming you are using tig from current
master, you can do this using `set main-view-commit-title-graph =
no-topo`, but I will probably move this setting to another option
before the next release (so if it breaks take a look at the NEWS
file). Alternatively you can disable the revision graph completely
using `set main-view-commit-title-graph = no`.

Before the next commit I plan to also investigate whether tig can
first load a screen full of commits without --topo-order and then
restart git-log, so the main view has content faster.

  2) When I cherry pick commits inside tig, it reloads the whole
 commit history of the active branch before tig accepts new
 commands.

This should should be able to disable this behaviour using `set
refresh-mode = manual` if you don't want tig to automatically reload
the view.

 I guess both issues are caused by tig reading the whole commit
 history before user input is allowed.  Is there a way to do that
 in the background, or interrupt loading when the user presses a
 key, or to load the history in small chunks?

The loading should already happen while also accepting user input
(modulo any bugs).

 After all, you're
 usually interested only in the last 100 commits or so, and there's
 no need to block the UI while loading the rest.

True. Well,  The only part of the loading that is blocking is the
.git/index refreshing that takes place when display of work tree
changes is enabled in the main view (when `set show-changes = yes`).

I will review this again.

 Could you point me to the right source file?  I'm not used to the
 sources split into multiple files yet.  :-)

Try: tig grep main_open

 Ciao

Have a great day.

-- 
Jonas Fonseca
--
To unsubscribe from this list: send the line unsubscribe git in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


Re: [PATCH] TIG: Fix to reinstate proper operation with no arguments

2013-07-18 Thread Jonas Fonseca
On Thu, Jul 18, 2013 at 9:30 AM, Drew Northup n1xim.em...@gmail.com wrote:

 Somehow this patch breaks the main view to not open the correct commit in 
 diff view when enter is pressed. Back to the debugger...

Does this (possibly white-space damaged) patch work for you?

diff --git a/tig.c b/tig.c
index ba9ba98..74a2928 100644
--- a/tig.c
+++ b/tig.c
@@ -3104,7 +3104,7 @@ format_expand_arg(struct format_context *format,
const char *name)
 static bool
 format_append_arg(struct format_context *format, const char
***dst_argv, const char *arg)
 {
- format-bufpos = 0;
+ format-buf[0] = format-bufpos = 0;

  while (arg) {
  char *next = strstr(arg, %();


--
Jonas Fonseca
--
To unsubscribe from this list: send the line unsubscribe git in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


Re: [PATCH V2] TIG: Fix to reinstate proper operation with no arguments

2013-07-28 Thread Jonas Fonseca
On Wed, Jul 24, 2013 at 8:50 AM, Drew Northup n1xim.em...@gmail.com wrote:
 This time, knowing for sure now that format-buf is not being used in
 the extant code path for any other purpose, I went ahead and
 initialized the whole thing to be sure that we don't find any other
 ghosts hiding in that buffer between uses. Just initializing the
 first byte fixes the near term problem but does not prevent the buffer
 initialization issue that this bug highlighted from rising up again
 later on.

Thanks applied with minor tidyup.

 diff --git a/tig.c b/tig.c
 index ba9ba98..c65bc43 100644
 --- a/tig.c
 +++ b/tig.c
 @@ -3104,8 +3104,12 @@ format_expand_arg(struct format_context *format, const 
 char *name)
  static bool
  format_append_arg(struct format_context *format, const char ***dst_argv, 
 const char *arg)
  {
 +   int i;

Added space after the declaration.

 format-bufpos = 0;

 +   for (i = 0; i  SIZEOF_STR; i++)

Changed this to use sizeof(format-buf) instead.

 +   format-buf[i] = 0;
 +
 while (arg) {
 char *next = strstr(arg, %();
 int len = next ? next - arg : strlen(arg);
 --
 1.8.0


-- 
Jonas Fonseca
--
To unsubscribe from this list: send the line unsubscribe git in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


Re: [TIG][PATCH] Scroll diff with arrow keys in log view

2013-08-01 Thread Jonas Fonseca
On Wed, Jul 31, 2013 at 11:11 PM, Kumar Appaiah
a.ku...@alumni.iitm.ac.in wrote:
 This commit introduces the VIEW_NO_PARENT_NAV flag and adds it to the
 log view. This allows the scrolling commands to fall through from the
 pager to the diff when the diff is viewed in the log mode.

Thanks, works like a charm.

BTW, please remember to label tig related patches by adding '[TIG]' or
something similar in the subject so people on this list won't get
confused.

-- 
Jonas Fonseca
--
To unsubscribe from this list: send the line unsubscribe git in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


Re: [[TIG][PATCH] 1/3] Add log_select function to find commit from context in log view

2013-08-05 Thread Jonas Fonseca
On Fri, Aug 2, 2013 at 8:23 PM, Kumar Appaiah a.ku...@alumni.iitm.ac.in wrote:
 This commit introduces and uses the log_select function to find the
 correct commit in the unsplit log view. In the log view, if one
 scrolls down across a commit line, the current commit (as displayed in
 the status bar) gets updated, but not so when scrolling upward across
 a commit. The log_select function handles this scenario to to the

s/to to/to do/

 ``right thing''. In addition, it introduces the log_state structure as
 the private entry of the log view to hold a flag that decides whether
 to re-evaluate the current commit based on scrolling.

 Signed-off-by: Kumar Appaiah a.ku...@alumni.iitm.ac.in
 ---
  tig.c | 50 --
  1 file changed, 48 insertions(+), 2 deletions(-)

 diff --git a/tig.c b/tig.c
 index 72f132a..dd4b0f4 100644
 --- a/tig.c
 +++ b/tig.c
 @@ -4384,6 +4384,33 @@ pager_select(struct view *view, struct line *line)
 }
  }

 +struct log_state {
 +   bool update_commit_ref;
 +};
 +
 +static void
 +log_select(struct view *view, struct line *line)
 +{
 +   struct log_state *state = (struct log_state *) view-private;
 +
 +   if (state-update_commit_ref  line-lineno  1) {
 +   /* We need to recalculate the previous commit,
 +  since the user has likely scrolled up. */

I'd prefer that state-update_commit_ref is given another name so it
won't be necessary to have these comments everywhere the field is
used, for example recalculate_commit_context. The comment could be
moved to the declaration in struct log_state to explain its use.

Multi-line comments should start with '*' for each additonal line, e.g.

  /* bla bla
   * bla bla */

 +   const struct line *commit_line = find_prev_line_by_type(view, 
 line, LINE_COMMIT);
 +
 +   if (commit_line)
 +   string_copy_rev(view-ref, (char *) 
 (commit_line-data + STRING_SIZE(commit )));

You mentioned elsewhere that this looked funny, and I guess you are
right. I will extract this into a utility method so you can simply
call: string_copy_rev_from_line(view-ref, commit_line); ...

 +   }
 +   if (line-type == LINE_COMMIT) {
 +   char *text = (char *)line-data + STRING_SIZE(commit );
 +
 +   if (!view_has_flags(view, VIEW_NO_REF))
 +   string_copy_rev(view-ref, text);

... and: string_copy_rev_from_line(view-ref, line);

 +   }
 +   string_copy_rev(ref_commit, view-ref);
 +   state-update_commit_ref = FALSE;
 +}
 +
  static bool
  pager_open(struct view *view, enum open_flags flags)
  {
 @@ -4427,11 +4454,30 @@ log_open(struct view *view, enum open_flags flags)
  static enum request
  log_request(struct view *view, enum request request, struct line *line)
  {
 +   struct log_state *state = (struct log_state *) view-private;

There's no need to cast view-private here.

 +
 switch (request) {
 case REQ_REFRESH:
 load_refs();
 refresh_view(view);
 return REQ_NONE;
 +
 +   case REQ_MOVE_UP:
 +   case REQ_PREVIOUS:
 +   if (line-type == LINE_COMMIT  line-lineno  1) {
 +   /* We are at a commit, and heading upward. We
 +  force log_select to find the previous
 +  commit above, from the context. */

Please delete this comment.

 +   state-update_commit_ref = TRUE;
 +   }
 +   return pager_request(view, request, line);

There's not really any reason to call pager_request here, since it
only handles REQ_ENTER.

 +
 +   case REQ_MOVE_PAGE_UP:
 +   case REQ_MOVE_PAGE_DOWN:
 +   /* We need to figure out the right commit again. */

Please delete this this comment.

 +   state-update_commit_ref = TRUE;
 +   return pager_request(view, request, line);

Calling pager_request again.

 +
 default:
 return pager_request(view, request, line);
 }
 @@ -4441,13 +4487,13 @@ static struct view_ops log_ops = {
 line,
 { log },
 VIEW_ADD_PAGER_REFS | VIEW_OPEN_DIFF | VIEW_SEND_CHILD_ENTER | 
 VIEW_NO_PARENT_NAV,
 -   0,
 +   sizeof(struct log_state),
 log_open,
 pager_read,
 pager_draw,
 log_request,
 pager_grep,
 -   pager_select,
 +   log_select,
  };

  struct diff_state {
 --
 1.8.3.2


-- 
Jonas Fonseca
--
To unsubscribe from this list: send the line unsubscribe git in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


Re: [[TIG][PATCH] 2/3] Display correct diff the context in split log view

2013-08-05 Thread Jonas Fonseca
On Fri, Aug 2, 2013 at 8:23 PM, Kumar Appaiah a.ku...@alumni.iitm.ac.in wrote:
 In the log view, when scrolling across a commit, the diff view should
 automatically switch to the commit whose context the cursor is on in
 the log view. This commit changes things to catch the REQ_ENTER in the
 log view and handle recalculation of the commit and diff display from
 log_request, rather than delegating it to pager_request. In addition,
 it also gets rid of unexpected upward scrolling of the log view.

 Fixes GH #155

 Signed-Off-By: Kumar Appaiah a.ku...@alumni.iitm.ac.in
 ---
  NEWS  |  1 +
  tig.c | 12 
  2 files changed, 13 insertions(+)

 diff --git a/NEWS b/NEWS
 index 0394407..f59e517 100644
 --- a/NEWS
 +++ b/NEWS
 @@ -46,6 +46,7 @@ Bug fixes:
   - 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)
 + - Introduce a more natural context-sensitive log display. (GH #155)

  tig-1.1
  ---
 diff --git a/tig.c b/tig.c
 index dd4b0f4..53947b7 100644
 --- a/tig.c
 +++ b/tig.c
 @@ -4478,6 +4478,18 @@ log_request(struct view *view, enum request request, 
 struct line *line)
 state-update_commit_ref = TRUE;
 return pager_request(view, request, line);

 +   case REQ_ENTER:
 +   /* Recalculate the correct commit for the context. */

See my dislike for this type of comments. ;)

 +   state-update_commit_ref = TRUE;
 +
 +   open_view(view, REQ_VIEW_DIFF, OPEN_SPLIT);

This is called every time the user presses up/down. There should be a
check that compares the VIEW(REQ_VIEW_DIFF)-ref to ref_commit.

 +   update_view_title(view);

This can be deleted. pager_request require this hack due to the
automatic scrolling (if I recall correctly).

 +
 +   /* We don't want to delegate this to pager_request,
 +  since we don't want the extra scrolling of the log
 +  view. */

This explanation should IMO go into the commit message and not a
comment since it is somewhat confusing unless you are familiar with
the previous behaviour.

 +   return REQ_NONE;
 +
 default:
 return pager_request(view, request, line);

This line can be changed to `return request;`

 }
 --
 1.8.3.2


-- 
Jonas Fonseca
--
To unsubscribe from this list: send the line unsubscribe git in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


Re: [[TIG][PATCH] 1/3] Add log_select function to find commit from context in log view

2013-08-05 Thread Jonas Fonseca
On Fri, Aug 2, 2013 at 8:23 PM, Kumar Appaiah a.ku...@alumni.iitm.ac.in wrote:
 diff --git a/tig.c b/tig.c
 index 72f132a..dd4b0f4 100644
 --- a/tig.c
 +++ b/tig.c
 @@ -4427,11 +4454,30 @@ log_open(struct view *view, enum open_flags flags)
  static enum request
  log_request(struct view *view, enum request request, struct line *line)
  {
 +   struct log_state *state = (struct log_state *) view-private;
 +
 switch (request) {
 case REQ_REFRESH:
 load_refs();
 refresh_view(view);
 return REQ_NONE;
 +
 +   case REQ_MOVE_UP:
 +   case REQ_PREVIOUS:
 +   if (line-type == LINE_COMMIT  line-lineno  1) {
 +   /* We are at a commit, and heading upward. We
 +  force log_select to find the previous
 +  commit above, from the context. */
 +   state-update_commit_ref = TRUE;
 +   }
 +   return pager_request(view, request, line);
 +
 +   case REQ_MOVE_PAGE_UP:
 +   case REQ_MOVE_PAGE_DOWN:
 +   /* We need to figure out the right commit again. */
 +   state-update_commit_ref = TRUE;
 +   return pager_request(view, request, line);
 +
 default:
 return pager_request(view, request, line);
 }

I forgot to mention there is one use case this doesn't currently
handle, namely jumping to a specific line using ':number'. Other
than detecting this by tracking the current line number in log_state I
haven't come up with a good way to detect that a recalculation is
required.
--
To unsubscribe from this list: send the line unsubscribe git in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


Re: [TIG][PATCH 0/3] Refactoring of the log view

2013-08-05 Thread Jonas Fonseca
On Fri, Aug 2, 2013 at 8:23 PM, Kumar Appaiah a.ku...@alumni.iitm.ac.in wrote:
 These set of patches refactor the log view to provide a behaviour that
 is quite similar to, say, e-mail with Mutt. The key improvements are:

 - The current commit is inferred based on the context. For example, if
   you focus on the commit message of a particular commit, the correct
   commit is inferred automagically.

 - Scrolling the log view when the diff is open shows the correct
   commit on the screen, rather than have to scroll up and cross the
   commit line to display the screen.

Thanks, great improvements. I am still considering whether to queue
them until after the next release or include them.

 I have decided to revert 888611dd5d407775245d574a3dc5c01b5963a5ba,
 since the behaviour with the updated scrolling pattern is much more
 consistent.

OK, makes sense.

The next step will be to find out how to highlight the diff stat in
the log view. :-D
--
To unsubscribe from this list: send the line unsubscribe git in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


[ANNOUNCE] tig-1.2

2013-08-10 Thread Jonas Fonseca
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.

 - 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
 - QA: http://stackoverflow.com/questions/tagged/tig

Release notes
-
 - Tig now has its own tag on Stack Overflow, where users are invited to
   ask questions: http://stackoverflow.com/questions/tagged/tig

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

[ANNOUNCE] tig-1.2.1

2013-08-24 Thread Jonas Fonseca
Hello,

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.

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.

Resources
-

 - 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
 - QA: http://stackoverflow.com/questions/tagged/tig

Release notes
-
Incompatibilities:

 - Move manual and man pages to doc/ directory and rename AsciiDoc files
   to have .asciidoc as the extension to make them render on GitHub.

Improvements:

 - Show blob sizes in the tree view either as bytes or using binary unit
   prefixes. Example: `set show-file-size = units`. (GH #163)
 - Reduce main view memory usage and startup time, especially when revision
   graph rendering is disabled. (GH #160)

Bug fixes:

 - Fix submodule-related setup to check for non-zero return value from
   setenv(). (GH #188)

Change summary
--
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

-- 
Jonas Fonseca
--
To unsubscribe from this list: send the line unsubscribe git in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


Re: diff/merge tool that ignores whitespace changes

2012-09-03 Thread Jonas Fonseca
On Sun, Sep 2, 2012 at 5:07 PM, Enrico Weigelt enrico.weig...@vnc.biz wrote:
 Hi,

 Would that help ?
 git help diff
 [snip]
  --ignore-space-at-eol
Ignore changes in whitespace at EOL.

-b, --ignore-space-change
Ignore changes in amount of whitespace. This ignores
whitespace at
line end, and considers all other sequences of one or more
whitespace characters to be equivalent.

-w, --ignore-all-space
Ignore whitespace when comparing lines. This ignores
differences
even if one line has whitespace where the other line has
none.

 Now I yet need to find out how to configure tig for it.

Try: echo set ignore-space = all  ~/.tigrc
And use 'W' to toggle between the different modes.

-- 
Jonas Fonseca
--
To unsubscribe from this list: send the line unsubscribe git in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


Re: [ANNOUNCE] tig-1.0

2012-09-07 Thread Jonas Fonseca
On Fri, Sep 7, 2012 at 9:41 AM, Jean-Baptiste Quenot j...@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?

-- 
Jonas Fonseca
--
To unsubscribe from this list: send the line unsubscribe git in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


Re: [ANNOUNCE] tig-1.0

2012-09-24 Thread Jonas Fonseca
On Mon, Sep 24, 2012 at 10:57 AM, Jean-Baptiste Quenot j...@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
--
To unsubscribe from this list: send the line unsubscribe git in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


[ANNOUNCE] tig-1.1

2012-10-12 Thread Jonas Fonseca
Hello,

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.

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
-
Incompatibilities:

 - Disable diff move/copy detection by default, boosting diff
   performance on larger projects. Use git config 'diff.renames' option
   (git-wide) to set your preferred behavior. Environment variable
   TIG_DIFF_OPTS can be used to restore the old behavior.
 - Values set for author-width and filename-width will result in widths
   one character bigger than previously.

Improvements:

 - Typing a text in the prompt will be interpreted as a tig command.
   Prefixing the command with a '!' will execute this system command in
   an external pager. Entering a single key will execute the
   corresponding key binding.
 - Basic support for wrapping long line in pager, diff, and stage views.
   Enable using: `set wrap-lines = yes`. (GH #2)
 - User-defined commands prefixed with a '?' means prompt before
   execution. Example: `bind main B !?git rebase -i %(commit)`.
 - User-defined commands prefixed with a '' means exit after execution.
   Example: `bind main C !git commit`. (GH #66)
 - User-defined commands are executed unquoted to support shell commands.
   Example: `bind generic I !@sh -c echo -n %(commit) | xclip -selection c`.
   (GH #65)
 - Configure case-insensitive searches using: `set ignore-case = yes`.
 - Add deleted mode line type for better diff coloring.
 - Open editor when requesting edit action from within a file diff.
 - Update AX_WITH_CURSES to build under Cygwin.
 - Improve tigrc(5) documentation. (Debian #682766)
 - Allow to build on Mac OS 10.7 without the configure script. (GH #25)
 - Add option to split the view vertically instead of horizontally.
   Example: `set vertical-split = yes'. (GH #76)
 - Add 'show-id' and 'id-width' options to configure the display of
   commit IDs in the main view and ID width in the blame view. (GH #77)
 - Allow to override git-based encoding to UTF-8 by setting
   'i18n.commitencoding' or 'gui.encoding'.
 - Improve autobuild support to track generated files and work with
   autoreconf 2.61.
 - Commit IDs are read from stdin when --stdin is given; works for main
   and diff view, e.g. `tig --no-walk --stdin  cherry-picks.txt`.
 - Add option to disable focusing of the child view when it's opened.
   Disable using: `set focus-child = no`. (GH #83)
 - Allow to open blob related with added content in a diff. (GH #91)

Bug fixes:

 - Fix commit graph regression when a path spec is specified. (GH #53)
 - Main view: only show staged/unstaged changes for the current branch.
 - Support submodules created with current version of git. (GH #54)
 - Fix diff status message for file diffs with no content changes.
 - Fix parent blaming when tig is launched in subdirectory. (GH #70)
 - Do not show deleted branch when reloading the branch view.

Change summary
--
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

-- 
Jonas

[PATCH] Documentation: Add asciidoc.conf file and gitlink: macro

2005-07-30 Thread Jonas Fonseca
Introduce an asciidoc.conf file with the purpose of adding a gitlink: macro
which will improve the manpage output. Most notably this changes the following
in cogito.7

   ...
   cg-add: cg-add.html [-N] FILE...
  Add files to the GIT repository.

   cg-branch-add: cg-branch-add.html BRANCH_NAME LOCATION
  Add new branch to the GIT repository.
   ...

to

   ...
   cg-add [-N] FILE...
  Add files to the GIT repository.

   cg-branch-add BRANCH_NAME LOCATION
  Add new branch to the GIT repository.
   ...

Signed-off-by: Jonas Fonseca [EMAIL PROTECTED]
---

I only did the Cogito part, since it was a lot easier. If this is
desirable for the GIT core manpages I'd be happy to provide a similar
patch to remove the confusing .html links from GIT manpages.

 Documentation/Makefile |4 ++--
 Documentation/asciidoc.conf|   18 ++
 Documentation/make-cg-asciidoc |6 +++---
 Documentation/make-cogito-asciidoc |   19 ++-
 4 files changed, 33 insertions(+), 14 deletions(-)

diff --git a/Documentation/Makefile b/Documentation/Makefile
--- a/Documentation/Makefile
+++ b/Documentation/Makefile
@@ -48,13 +48,13 @@ clean:
rm -f *.xml *.html *.1 *.7 cg-*.txt cogito.txt
 
 %.html : %.txt
-   asciidoc -b xhtml11 -d manpage $
+   asciidoc -b xhtml11 -d manpage -f asciidoc.conf $
 
 %.1 %.7 : %.xml
xmlto man $
 
 %.xml : %.txt
-   asciidoc -b docbook -d manpage $
+   asciidoc -b docbook -d manpage -f asciidoc.conf $
 
 cogito.txt : make-cogito-asciidoc
./make-cogito-asciidoc  $@
diff --git a/Documentation/asciidoc.conf b/Documentation/asciidoc.conf
new file mode 100644
--- /dev/null
+++ b/Documentation/asciidoc.conf
@@ -0,0 +1,18 @@
+## gitlink: macro
+#
+# Usage: gitlink:command[manpage-section]
+#
+# Note, {0} is the manpage section, while {target} is the command.
+#
+# Show GIT link as: command(section); if section is defined, else just show
+# the command.
+
+ifdef::backend-docbook[]
+[gitlink-inlinemacro]
+{target}{0?({0})}
+endif::backend-docbook[]
+
+ifdef::backend-xhtml11[]
+[gitlink-inlinemacro]
+a href={target}.html{target}{0?({0})}/a
+endif::backend-xhtml11[]
diff --git a/Documentation/make-cg-asciidoc b/Documentation/make-cg-asciidoc
--- a/Documentation/make-cg-asciidoc
+++ b/Documentation/make-cg-asciidoc
@@ -40,7 +40,7 @@ CAPTION=$(echo $HEADER | head -n 1 | t
 # were referenced as `cg-command`. This way references from cg-* combos in
 # code listings will be ignored.
 BODY=$(echo $HEADER | sed '0,/^$/d' \
- | sed 's/`\(cg-[a-z-]\+\)`/link:\1.html[\1]/')
+ | sed 's/`\(cg-[a-z-]\+\)`/gitlink:\1[1]/')
 
 DESCRIPTION=
 OPTIONS=
@@ -108,6 +108,6 @@ $COPYRIGHT
 
 SEE ALSO
 
-$COMMAND command is part of link:cogito.html[cogito(7)],
-a toolkit for managing link:git.html[git(1)] trees.
+$COMMAND command is part of gitlink:cogito[7],
+a toolkit for managing gitlink:git[7] trees.
 __END__
diff --git a/Documentation/make-cogito-asciidoc 
b/Documentation/make-cogito-asciidoc
--- a/Documentation/make-cogito-asciidoc
+++ b/Documentation/make-cogito-asciidoc
@@ -8,10 +8,11 @@ ADVANCED_COMMANDS=$(ls ../cg-admin-*)
 HELPER_COMMANDS=$(ls ../cg-X*) $(ls ../*-id | grep -v git-)
 
 # Shorthand for the link markup.
-link()
+man()
 {
-   command=$1
-   echo link:$command.html['$command']
+   section=$1
+   command=$2
+   echo gitlink:$command[$section]
 }
 
 # Print description list entry.
@@ -28,7 +29,7 @@ print_command_info()
;;
cg-*)
usage=$(sed -n '/^USAGE=/,0s/.*cg-[^ ]*\(.*\)/\1/p'  $command)
-   echo link:$cmdname.html[$cmdname] $usage::
+   echo gitlink:$cmdname[] $usage::
;;
esac
echo   $caption
@@ -62,7 +63,7 @@ storage system. Amongst some of the note
 for branching, tagging and multiple backends for distributing repositories
 (local files, rsync, HTTP, ssh).
 
-'Cogito' is implemented as a series of 'bash(1)' scripts on top of $(link git)
+'Cogito' is implemented as a series of 'bash(1)' scripts on top of $(man 7 git)
 (a content-tracking filesystem) with the goal of providing an interface for
 working with the 'GIT' database in a manner similar to other SCM tools (like
 'CVS', 'BitKeeper' or 'Monotone').
@@ -107,21 +108,21 @@ $(print_command_listing $HELPER_COMMANDS
 Command Identifiers
 ---
 BRANCH_NAME::
-   Indicates a branch name added with the $(link cg-branch-add) command.
+   Indicates a branch name added with the $(man 1 cg-branch-add) command.
 
 COMMAND::
Indicates a 'Cogito' command. The \`cg-\` prefix is optional.
 
 LOCATION::
-   Indicates a local file path or a URI. See $(link cg-branch-add) for a
+   Indicates a local file path or a URI. See $(man 1 cg-branch-add) for a
list of supported URI schemes.
 
 COMMIT_ID, FROM_ID, TO_ID

[PATCHSET] Cogito documentation updates

2005-08-13 Thread Jonas Fonseca
The patchset contains the following 5 patches:

  [PATCH 1/5] Also install cg-*.txt files
  [PATCH 2/5] Add SEE ALSO section to cogito(7) which mentions git(7)
  [PATCH 3/5] Generate Documentation/introduction.html from the README file
  [PATCH 4/5] Add more AsciiDoc markup to the README file
  [PATCH 5/5] Ignore patch backup files (*.{orig,rej}) when finding cg-* 
manpage scripts

-- 
Jonas Fonseca
-
To unsubscribe from this list: send the line unsubscribe git in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html


[PATCH 1/5] Also install cg-*.txt files

2005-08-13 Thread Jonas Fonseca
Signed-off-by: Jonas Fonseca [EMAIL PROTECTED]

---

 debian/rules |1 +
 1 files changed, 1 insertions(+), 0 deletions(-)

diff --git a/debian/rules b/debian/rules
--- a/debian/rules
+++ b/debian/rules
@@ -67,6 +67,7 @@ install: build
$(MAKE) install DESTDIR=$(CURDIR)/debian/cogito prefix=/usr
# $(RM) $(DESTDIR)/usr/bin/cg
install -m 0644 Documentation/*.html 
$(DESTDIR)/usr/share/doc/cogito/html
+   install -m 0644 Documentation/cg-*.txt 
$(DESTDIR)/usr/share/doc/cogito/txt
install -m 0644 Documentation/cogito.txt 
$(DESTDIR)/usr/share/doc/cogito/txt
install -m 0644 Documentation/*.1 $(DESTDIR)/usr/share/man/man1
install -m 0644 Documentation/*.7 $(DESTDIR)/usr/share/man/man7

-- 
Jonas Fonseca
-
To unsubscribe from this list: send the line unsubscribe git in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html


[PATCH 5/5] Ignore patch backup files when finding cg-* manpage scripts

2005-08-13 Thread Jonas Fonseca
Adds ../cg-*.{orig,rej} to CG_IGNORE.

Signed-off-by: Jonas Fonseca [EMAIL PROTECTED]

---

 Documentation/Makefile |2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)

diff --git a/Documentation/Makefile b/Documentation/Makefile
--- a/Documentation/Makefile
+++ b/Documentation/Makefile
@@ -1,4 +1,4 @@
-CG_IGNORE=$(wildcard ../cg-X*)
+CG_IGNORE=$(wildcard ../cg-X* ../cg-*.orig ../cg-*.rej)
 CG_SRC=$(filter-out $(CG_IGNORE), $(wildcard ../cg-*))
 
 MAN1_TXT=$(patsubst ../cg-%,cg-%.txt,$(CG_SRC))

-- 
Jonas Fonseca
-
To unsubscribe from this list: send the line unsubscribe git in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html


[ANNOUNCE] tig-2.1

2015-03-10 Thread Jonas Fonseca
  |  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

-- 
Jonas Fonseca
--
To unsubscribe from this list: send the line unsubscribe git in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


[ANNOUNCE] tig-2.1.1

2015-04-08 Thread Jonas Fonseca
Hi,

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).

 - 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
 - Gitter: https://gitter.im/jonas/tig
 - QA: http://stackoverflow.com/questions/tagged/tig

Release notes
-
Improvements:

 - Add support for key combos. (GH #67)
 - See `contrib/vim.tigrc` for Vim-like keybindings. (GH #273, #351)
 - Add GitHub inspired file finder to search for and open any file. (GH #342)
 - Add `search` keymap for navigation file finder search results.

Bug fixes:

 - Fix display of multiple references per commit. (GH #390, #391)
 - Sync the prompt's cursor position with readline's internal position. (#396)
 - Keep unstaged changes view open after an staging command. (#399)

Change summary
--
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

-- 
Jonas Fonseca
--
To unsubscribe from this list: send the line unsubscribe git in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


Re: [TIG PATCH] test: make diff/log work with git 2.9

2016-08-03 Thread Jonas Fonseca
On Tue, Jun 14, 2016 at 4:34 AM, Michael J Gruber
<g...@drmicha.warpmail.net> wrote:
> git 2.9.0 switches the default for diff.renames to true.
>
> Set this to false in config so that the test suite runs unmodified for
> old and new git.

Thanks!

-- 
Jonas Fonseca
--
To unsubscribe from this list: send the line "unsubscribe git" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


[ANNOUNCE] tig-2.2

2016-08-10 Thread Jonas Fonseca
  |  59 +++
 test/refs/default-test|  53 +--
 test/refs/refresh-test|  56 +--
 test/refs/replace-test|   1 -
 test/refs/util.sh |  13 -
 test/refs/worktree-test   |  33 ++
 test/regressions/github-434-test  | 123 ++
 test/stage/default-test   |   4 +-
 test/stage/gh-410-test|  73 
 test/stage/split-chunk-test   |  96 +
 test/status/file-name-test|   8 +-
 test/status/file-var-test |  59 +++
 test/status/on-branch-test|  32 +-
 test/status/on-branch-tracking-info-test  | 105 +
 test/status/refresh-test  |  22 +-
 test/status/repo-var-test |  21 +
 test/status/start-on-line-test|   2 +-
 test/status/untracked-files-test  |   4 +-
 test/status/worktree-test |  32 ++
 test/tigrc/compat-error-test  |  16 +-
 test/tigrc/view-column-test   |   7 +-
 test/tigrc/xdg-config-home-test   |  31 ++
 test/tools/libgit.sh  | 149 +--
 test/tools/libtest.sh | 198 +++--
 test/tools/show-results.sh|  10 +-
 test/tools/test-graph.c   |   4 +-
 tigrc |   9 +-
 tools/aspell.dict |  14 +-
 tools/doc-gen.c   |  12 +-
 tools/uninstall.sh|  35 ++
 130 files changed, 4781 insertions(+), 1609 deletions(-)

 2 Adam Strzelecki
 1 Alexander Campbell
 1 Bostjan Skufca
 1 Daniel Hahler
 1 Edgar HIPP
 3 Eric Sunshine
 1 Harish Lall
 1 Jeff King
 3 Jeremy Cowgar
84 Jonas Fonseca
 1 Kentaro Wada
 1 Laurent Arnoud
 1 Mantas Mikulėnas
 2 Michael J Gruber
 1 Murilo Opsfelder Araujo
 1 Olof-Joachim Frahm
 1 Reuben D'Netto
 2 Richard Burke
 2 Sven Wegener
 4 Vivien Didelot
 1 Wolfgang Reissnegger
     1 ideal
     1 samiraguiar

-- 
Jonas Fonseca
--
To unsubscribe from this list: send the line "unsubscribe git" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


[ANNOUNCE] tig-2.2.1

2016-11-16 Thread Jonas Fonseca
Hello,

A new minor version of tig is available which adds support for
diff-highlight (see instructions below) and navigation between merge
commits as well as several keybinding tweaks.

Tarballs should now be downloaded from GitHub. Either go to
https://github.com/jonas/tig/releases or use the following pattern:


https://github.com/jonas/tig/releases/download/tig-VERSION/tig-VERSION.tar.gz

MD5 checksums can be found at:


https://github.com/jonas/tig/releases/download/tig-VERSION/tig-VERSION.tar.gz.md5

Similarly, the home page is now also on GitHub at
https://jonas.github.io/tig/. A big thanks to Simon L. B. Nielsen for
generously hosting Tig on nitro.dk!

Release notes
-
Improvements:

 - Support Git's 'diff-highlight' program when `diff-highlight` is set
   to either true or the path of the script to use for post-processing.
 - Add navigation between merge commits. (GH #525)
 - Add 'A' as a binding to apply a stash without dropping it.
 - Bind 'Ctrl-D' and 'Ctrl-U' to half-page movements by default.
 - manual: Mention how to change default Up/Down behavior in diff view.

Bug fixes

 - Reorganize checking of libraries for termcap functions.
 - Fix `:goto ` error message.

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

 118 files changed, 3765 insertions(+), 3284 deletions(-)

22  Jonas Fonseca
 1  Frank Fesevur
 1  Jelte Fennema
 1  Jeremy Lin
 1  Parker Coates
 1  Philipp Gesang
 1  Ramsay Jones
 1  David Lin
 1  lightside

-- 
Jonas Fonseca


[ANNOUNCE] tig-2.2.2

2017-05-06 Thread Jonas Fonseca
Hello,

A new version of Tig has been release with several improvements and bug fixes.

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: https://jonas.github.io/tig/
 - Manual: https://jonas.github.io/tig/doc/manual.html
 - Tarballs: https://github.com/jonas/tig/releases
 - Gitter: https://gitter.im/jonas/tig
 - Q: http://stackoverflow.com/questions/tagged/tig

Release notes
-
Upgrade instructions:

 - The `status-untracked-dirs` option was renamed to
   `status-show-untracked-dirs` to match the new `status-show-untracked-files`
   option.

Improvements:

 - Use `diff-options` when preparing the diff in the stage view to make the diff
   state configurable. (GH #545)
 - Add 'status-show-untracked-files' option mirroring Git's
   'status.showUntrackedFiles' to toggle display of untracked files.  in the
   status view. On by default. (GH #562)
 - Update `ax_with_curses.m4` and use `pkg-config` to detect. (GH #546)
 - Add `tig-pick` script for using Tig as a commit picker. (GH #575, #580)
 - Add "smart case" option ('set ignore-case = smart-case') to ignore case when
   the search string is lower-case only. (GH #320, #579)

Bug fixes:

 - Fix author ident cache being keyed by email only. (GH #424, #526, #547)
 - Fix periodic refresh mode to properly detect ref changes. (GH #430, #591)
 - Add workaround for detecting failure to start the diff-highlight process.
 - Show diffs in the stash view when `set mailmap = true`. (GH #556)
 - Fix parsing of git-log revision arguments, such as `--exclude=...` in
   conjunction with `--all`. (GH #555)
 - Fix diff stat parsing for binary copies.
 - Fix crash when resizing terminal while search is in progress. (GH #515, #550)
 - Fix argument filtering to pass more arguments through to Git.
 - Check for termcap support in split tinfo libs. (GH #568, #585)

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

 INSTALL.adoc |  10 +-
 Makefile |   2 +-
 NEWS.adoc|  44 -
 README.adoc  |   2 +-
 book.md  |   2 +-
 config.make.in   |   2 +-
 configure.ac |   2 +-
 contrib/tig-pick |  48 +
 doc/manual.adoc  |   5 +-
 doc/screenshots.md   |  11 ---
 doc/tig.1.adoc   |   2 +-
 doc/tigrc.5.adoc |  15 ++-
 include/tig/argv.h   |   1 +
 include/tig/diff.h   |   4 +-
 include/tig/git.h|   4 +-
 include/tig/options.h|   5 +-
 include/tig/types.h  |  12 ++-
 include/tig/util.h   |   1 +
 include/tig/view.h   |   4 +-
 src/argv.c   |   4 +-
 src/blame.c  |  29 +++---
 src/blob.c   |  16 ++-
 src/diff.c   |  56 ++-
 src/display.c|   8 +-
 src/draw.c   |   2 +-
 src/grep.c   |   4 +-
 src/help.c   |   9 +-
 src/io.c |   8 +-
 src/log.c|   2 +-
 src/main.c   |  16 +--
 src/options.c|  72 +-
 src/pager.c  |  10 +-
 src/parse.c  |  14 ++-
 src/refs.c   |  21 ++--
 src/search.c |  16 ++-
 src/stage.c  |  44 -
 src/stash.c  |   6 +-
 src/status.c |  40 +---
 src/tig.c|  30 +++---
 src/tree.c   |  10 +-
 src/util.c   |   6 +-
 src/view.c   |  25 ++---
 src/watch.c  |   2 +-
 test/diff/diff-highlight-test|  38 ++-
 test/files/repo-authornamechange.tgz | Bin 0 -> 7557 bytes
 test/main/author-name-change-test|  27 +
 test/main/filter-args-test   |  74 ++
 test/main/refresh-periodic-test  |  74 ++
 test/main/search-test|  22 +
 test/status/untracked-files-test |  27 +
 test/tigrc/compat-error-test |   5 +-
 tigrc|   6 +-
 tools/aspell.dict|   9 +-
 tools/ax_lib_readline.m4 |  16 ++-
 tools/ax_require_defined.m4  |  37 +++
 tools/ax_with_curses.m4  | 142 +++
 56 files changed, 822 insertions(+), 281 deletions(-)

    22  

[ANNOUNCE] tig-2.3.0

2017-09-29 Thread Jonas Fonseca
age/split-chunk-test   |   2 +-
 test/stash/start-on-line-test |   2 +-
 test/status/file-name-test|   6 +-
 test/status/on-branch-test|  18 +-
 test/status/on-branch-tracking-info-test  |  20 +-
 test/status/refresh-test  |   2 +-
 test/status/repo-var-test |  17 +-
 test/tigrc/builtin-save-test  |  16 +
 test/tigrc/command-value-long-test|  58 ++
 test/tigrc/contrib-tigrc-test |   4 +-
 test/tigrc/parse-test |  15 +-
 test/tigrc/save-option-test   |   9 +-
 test/tigrc/source-test| 116 +++
 test/tigrc/tigrc-manpage-examples-test|  14 +-
 test/tigrc/truncation-test| 213 ++
 test/tigrc/width-test | 504 +
 test/tigrc/xdg-config-home-test   |   6 +-
 test/tools/libgit.sh  |  18 +-
 test/tools/libtest.sh | 392 ++
 test/tools/setup-conflict.sh  |   4 +-
 test/tools/show-results.sh|  23 +-
 test/tools/valgrind-Darwin.supp   |   9 +
 test/tree/chdir-test  | 197 +
 test/tree/file-name-test  | 111 +++
 tigrc |  36 +-
 tools/aspell.dict |  24 +-
 tools/ax_lib_readline.m4  |  12 +-
 acinclude.m4 => tools/iconv.m4|   0
 tools/make-builtin-config.sh  |   2 +-
 tools/release.sh  |   2 +-
 128 files changed, 4356 insertions(+), 794 deletions(-)

 1 Andreas Stieger
 1 Dan Wendorf
 1 Edgar Hipp
 1 Greg Hewgill
35 Jonas Fonseca
 2 Marc Aldorasi
 1 Ramsay Jones
   112 Roland Walker
11 Sven Wegener
     1 kiryph

-- 
Jonas Fonseca


[ANNOUNCE] tig-2.3.2

2017-12-18 Thread Jonas Fonseca
Hello,

A regression in 2.3.1 related with the detection of busy loops has
been fixed in version 2.3.2.

Release notes
-
Bug fixes:

 - Fix busy loop detection to handle large repos. (GH #164)

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

 INSTALL.adoc  | 4 ++--
 Makefile  | 2 +-
 NEWS.adoc | 7 +++
 src/display.c | 4 +++-
 tools/aspell.dict | 2 +-
 5 files changed, 14 insertions(+), 5 deletions(-)

Jonas Fonseca (2):
  Only check for busy loop when no views are updating
  tig-2.3.2

-- 
Jonas Fonseca


[ANNOUNCE] tig-2.3.1

2017-12-14 Thread Jonas Fonseca
Hello,

A new release is available fixing a few bugs and improving TTY management.

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: https://jonas.github.io/tig/
 - Manual: https://jonas.github.io/tig/doc/manual.html
 - Tarballs: https://github.com/jonas/tig/releases
 - Gitter: https://gitter.im/jonas/tig
 - Q: https://stackoverflow.com/questions/tagged/tig

Release notes
-
Improvements:

 - Restore TTY attributes. (GH #725)
 - Handle `\n` like `\r`. (GH #758)

Bug fixes:

 - Add workaround that detects busy loops when Tig loses the TTY. This may
   happen if Tig does not receive the HUP signal (e.g. when started with
   `nohup`). (GH #164)
 - Fix compatibility with ncurses-5.4 which caused copy-pasting to not work
   in the prompt. (GH #767)
 - tig(1): document correct environment variable. (GH #752)

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

 .travis.yml |  50 ++---
 INSTALL.adoc|  13 +++-
 Makefile|   2 +-
 NEWS.adoc   |  17 +
 doc/tig.1.adoc  |   2 +-
 include/tig/tig.h   |   1 +
 src/display.c   | 127 ++--
 test/README.adoc|  17 +
 test/main/refresh-periodic-test |   2 +
 test/tools/libtest.sh   |  76 +--
 tools/aspell.dict   |  12 ++-
 tools/travis.sh |  32 
 12 files changed, 293 insertions(+), 58 deletions(-)

Christian Brabandt (1):
  Handle \n like \r (#758)

David O'Trakoun (1):
  tig(1): Fix env var checked (#752)

Jonas Fonseca (6):
  Fix formatting of the Windows install documentation
  Move loop updating views to separate method
  Fix #164: Add workaround to detect busy event loops
  Use initscr to ensure proper TTY setup for the prompt (#768)
  Update NEWS
  tig-2.3.1

Matt (1):
  Added another installation method (#753)

-- 
Jonas Fonseca


[ANNOUNCE] tig-2.3.3

2018-01-30 Thread Jonas Fonseca
Hello,

A regression in 2.3.1 (and 2.3.2) related with the detection of busy loops has
been revisited in version 2.3.3.

Release notes
-

Bug fixes:

 - Revert "Handle \n like \r (#758)". (GH #769)
 - Fix GH #164 by catching SIGHUP.
 - Change `refs_tags` type to `size_t`.

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

 INSTALL.adoc  |  4 ++--
 Makefile  |  2 +-
 NEWS.adoc |  9 +
 README.adoc   |  2 +-
 src/display.c | 40 
 src/refdb.c   |  2 +-
 src/tig.c | 12 
 tools/aspell.dict |  2 +-
 8 files changed, 27 insertions(+), 46 deletions(-)

Alexander Droste (1):
  Revert "Handle \n like \r (#758)" (#769)

Jonas Fonseca (3):
  Fix #164 by catching SIGHUP
  Change refs_tags type to size_t
  tig-2.3.3

harshavardhan (1):
  updated https to https (#777)

-- 
Jonas Fonseca


[ANNOUNCE] tig-2.4.0

2018-07-21 Thread Jonas Fonseca
Hi,

I'm pleased to announce Tig version 2.4.0 with improvements to UTF-8
handling and compatibility with Git as well as a ton of bug fixes,

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: https://jonas.github.io/tig/
 - Manual: https://jonas.github.io/tig/doc/manual.html
 - Tarballs: https://github.com/jonas/tig/releases
 - Gitter: https://gitter.im/jonas/tig
 - Q: https://stackoverflow.com/questions/tagged/tig

Release notes
-

Improvements:

 - Add 'send-child-enter' option to control interaction with child
   views. (#791)
 - Update make config defaults for Cygwin to ncurses6. (#792)
 - Build against netbsd-curses. (#789)
 - Change the blame view to render more like `git blame`. (#812)
 - Improve worktree and submodule support. (#459, #781, #783)
 - Support running Tig via a Git alias. (#763)
 - Use ISO-8601 letters for short relative dates. (#759, #760)
 - Change date formatting to show time zones by default. (#428, #811)
 - Use utf8proc to handle Unicode characters. (#827)

Bug fixes:

 - Fix `file(1)` argument on Linux used for resolving encodings. (#788)
 - Fix underflow in the file search. (#800, #801)
 - Fix line numbers in grep view when scrolled. (#813)
 - Pass command line args through to the stage view. (#569, #823)
 - Fix resource leak. (#780)
 - Fix various compiler warnings and pointer arithmetic. (#799, #803)
 - Workaround potential null pointer dereferences. (#824)
 - Bind to single and double quotes by using the ** and
   ** key mappings. (#821)
 - Make Tig the process-group leader and clean child processes. (#828,
   #837)
 - Fix sh compatibility in `contrib/tig-pick`. (#832)
 - Fix incorrect behaviour of up and down keys in diff view when opened
   from diff preview. (#802, #835)
 - Open the stage view when maximizing a split diff view of (un)staged
   changes.  (#836)
 - Use fully qualified reference name for tags when conflicting with
   branch name. (#746, #787, #849)
 - Fix resize not working after entering command. (#845) (#846)
 - Use stack allocated memory to handle TIG_LS_REMOTE. (#839)
 - Fix deleted file mode line remains highlighted after hovering in diff
   or stage view. (#851)
 - Fix `TIG_LS_REMOTE` not working with git-ls-remote(1). (#853, #854)

Thanks to everyone who contributed (in alphabetical order): Björn
Andersson, Brtwrst, Diego Pomares, Jonas Fonseca, Leo Arias, Maksim
Odnoletkov, Max Odnoletkov, PaulChanHK, Pavel Roskin, Roland Walker,
Ronan Jouchet, Thomas Koutcher, hwangcc23, plgruener, rofl0r

-- 
Jonas Fonseca