Author: adamg                        Date: Sun Aug 31 22:19:45 2008 GMT
Module: SOURCES                       Tag: HEAD
---- Log message:
- up

---- Files affected:
SOURCES:
   tig-git.patch (1.3 -> 1.4) 

---- Diffs:

================================================================
Index: SOURCES/tig-git.patch
diff -u SOURCES/tig-git.patch:1.3 SOURCES/tig-git.patch:1.4
--- SOURCES/tig-git.patch:1.3   Sat Jun  7 19:16:12 2008
+++ SOURCES/tig-git.patch       Mon Sep  1 00:19:40 2008
@@ -50,10 +50,10 @@
  
 diff --git a/NEWS b/NEWS
 new file mode 100644
-index 0000000..fcaa853
+index 0000000..d93fb04
 --- /dev/null
 +++ b/NEWS
-@@ -0,0 +1,156 @@
+@@ -0,0 +1,159 @@
 +Release notes
 +=============
 +
@@ -68,6 +68,8 @@
 + - Stage view: add stage-next action to jump to next diff chunk that can
 +   be staged. By default bound to '@'.
 + - Configure: check for the ncurses header files.
++ - Add author-width option to costumize the width of the author column.
++   For example, put the following in ~/.tigrc: set author-width = 10
 +
 +Bug fixes:
 +
@@ -76,6 +78,7 @@
 +   keybinding to launch the merge tool in the status view.
 + - Fix problem with $(cmd) usage in shell code. Some shells (jsh)
 +   installed as /bin/sh does not support it.
++ - Do not show incomplete boundary commits when --no-walk is used.
 + - Documentation: Rename gitlink macro to support AsciiDoc 8.2.3.
 +
 +tig-0.11
@@ -210,6 +213,17 @@
 + - Status view: Add support for opening files in an editor. Bound to 'e'
 +   by default.
 + - Tree view: use a stack for remembering the lines for parent tree.
+diff --git a/TODO b/TODO
+index 437f0d4..919734a 100644
+--- a/TODO
++++ b/TODO
+@@ -28,3 +28,6 @@ Features that should be explored.
+ 
+  - Color the revgraph to make it easier to follow branches. Idea by
+    Dominik Vogt
++
++ - Allow names in the author column to be abbreviated to initials.
++   Will optimize screen usage for the blame view.
 diff --git a/asciidoc.conf b/asciidoc.conf
 index 630552c..90fdb6a 100644
 --- a/asciidoc.conf
@@ -327,7 +341,7 @@
  
  Online resources:
 diff --git a/tig.c b/tig.c
-index 5280da8..3802204 100644
+index 5280da8..8362ecf 100644
 --- a/tig.c
 +++ b/tig.c
 @@ -45,7 +45,15 @@
@@ -390,7 +404,7 @@
        REQ_(TREE_PARENT,       "Switch to parent directory in tree view"), \
        REQ_(EDIT,              "Open in editor"), \
        REQ_(NONE,              "Do nothing")
-@@ -438,10 +446,11 @@ static const char usage[] =
+@@ -438,11 +446,12 @@ static const char usage[] =
  static bool opt_date                  = TRUE;
  static bool opt_author                        = TRUE;
  static bool opt_line_number           = FALSE;
@@ -399,11 +413,94 @@
  static bool opt_show_refs             = TRUE;
  static int opt_num_interval           = NUMBER_INTERVAL;
 -static int opt_tab_size                       = TABSIZE;
+-static enum request opt_request               = REQ_VIEW_MAIN;
 +static int opt_tab_size                       = TAB_SIZE;
- static enum request opt_request               = REQ_VIEW_MAIN;
++static int opt_author_cols            = AUTHOR_COLS-1;
  static char opt_cmd[SIZEOF_STR]               = "";
  static char opt_path[SIZEOF_STR]      = "";
-@@ -612,7 +621,8 @@ LINE(BLAME_ID,     "",                     COLOR_MAGENTA,  
COLOR_DEFAULT,  0)
+ static char opt_file[SIZEOF_STR]      = "";
+@@ -461,34 +470,32 @@ static char opt_git_dir[SIZEOF_STR]      = "";
+ static signed char opt_is_inside_work_tree    = -1; /* set to TRUE or FALSE */
+ static char opt_editor[SIZEOF_STR]    = "";
+ 
+-static bool
++static enum request
+ parse_options(int argc, char *argv[])
+ {
++      enum request request = REQ_VIEW_MAIN;
+       size_t buf_size;
+       char *subcommand;
+       bool seen_dashdash = FALSE;
+       int i;
+ 
+       if (!isatty(STDIN_FILENO)) {
+-              opt_request = REQ_VIEW_PAGER;
+               opt_pipe = stdin;
+-              return TRUE;
++              return REQ_VIEW_PAGER;
+       }
+ 
+       if (argc <= 1)
+-              return TRUE;
++              return REQ_VIEW_MAIN;
+ 
+       subcommand = argv[1];
+       if (!strcmp(subcommand, "status") || !strcmp(subcommand, "-S")) {
+-              opt_request = REQ_VIEW_STATUS;
+               if (!strcmp(subcommand, "-S"))
+                       warn("`-S' has been deprecated; use `tig status' 
instead");
+               if (argc > 2)
+                       warn("ignoring arguments after `%s'", subcommand);
+-              return TRUE;
++              return REQ_VIEW_STATUS;
+ 
+       } else if (!strcmp(subcommand, "blame")) {
+-              opt_request = REQ_VIEW_BLAME;
+               if (argc <= 2 || argc > 4)
+                       die("invalid number of options to blame\n\n%s", usage);
+ 
+@@ -499,14 +506,13 @@ parse_options(int argc, char *argv[])
+               }
+ 
+               string_ncopy(opt_file, argv[i], strlen(argv[i]));
+-              return TRUE;
++              return REQ_VIEW_BLAME;
+ 
+       } else if (!strcmp(subcommand, "show")) {
+-              opt_request = REQ_VIEW_DIFF;
++              request = REQ_VIEW_DIFF;
+ 
+       } else if (!strcmp(subcommand, "log") || !strcmp(subcommand, "diff")) {
+-              opt_request = subcommand[0] == 'l'
+-                          ? REQ_VIEW_LOG : REQ_VIEW_DIFF;
++              request = subcommand[0] == 'l' ? REQ_VIEW_LOG : REQ_VIEW_DIFF;
+               warn("`tig %s' has been deprecated", subcommand);
+ 
+       } else {
+@@ -530,11 +536,11 @@ parse_options(int argc, char *argv[])
+ 
+               } else if (!strcmp(opt, "-v") || !strcmp(opt, "--version")) {
+                       printf("tig version %s\n", TIG_VERSION);
+-                      return FALSE;
++                      return REQ_NONE;
+ 
+               } else if (!strcmp(opt, "-h") || !strcmp(opt, "--help")) {
+                       printf("%s\n", usage);
+-                      return FALSE;
++                      return REQ_NONE;
+               }
+ 
+               opt_cmd[buf_size++] = ' ';
+@@ -545,7 +551,7 @@ parse_options(int argc, char *argv[])
+ 
+       opt_cmd[buf_size] = 0;
+ 
+-      return TRUE;
++      return request;
+ }
+ 
+ 
+@@ -612,7 +618,8 @@ LINE(BLAME_ID,     "",                     COLOR_MAGENTA,  
COLOR_DEFAULT,  0)
  enum line_type {
  #define LINE(type, line, fg, bg, attr) \
        LINE_##type
@@ -413,7 +510,7 @@
  #undef        LINE
  };
  
-@@ -731,7 +741,8 @@ static struct keybinding default_keybindings[] = {
+@@ -731,7 +738,8 @@ static struct keybinding default_keybindings[] = {
        { KEY_UP,       REQ_PREVIOUS },
        { KEY_DOWN,     REQ_NEXT },
        { 'R',          REQ_REFRESH },
@@ -423,7 +520,7 @@
  
        /* Cursor navigation */
        { 'k',          REQ_MOVE_UP },
-@@ -769,6 +780,7 @@ static struct keybinding default_keybindings[] = {
+@@ -769,6 +777,7 @@ static struct keybinding default_keybindings[] = {
        { ':',          REQ_PROMPT },
        { 'u',          REQ_STATUS_UPDATE },
        { 'M',          REQ_STATUS_MERGE },
@@ -431,7 +528,7 @@
        { ',',          REQ_TREE_PARENT },
        { 'e',          REQ_EDIT },
  
-@@ -954,22 +966,23 @@ static size_t run_requests;
+@@ -954,22 +963,23 @@ static size_t run_requests;
  static enum request
  add_run_request(enum keymap keymap, int key, int argc, char **argv)
  {
@@ -464,7 +561,22 @@
  
        return REQ_NONE + run_requests;
  }
-@@ -1126,6 +1139,11 @@ option_set_command(int argc, char *argv[])
+@@ -1087,6 +1097,14 @@ static bool parse_bool(const char *s)
+               !strcmp(s, "yes")) ? TRUE : FALSE;
+ }
+ 
++static int
++parse_int(const char *s, int default_value, int min, int max)
++{
++      int value = atoi(s);
++
++      return (value < min || value > max) ? default_value : value;
++}
++
+ /* Wants: name = value */
+ static int
+ option_set_command(int argc, char *argv[])
+@@ -1126,13 +1144,23 @@ option_set_command(int argc, char *argv[])
                return OK;
        }
  
@@ -474,9 +586,23 @@
 +      }
 +
        if (!strcmp(argv[0], "line-number-interval")) {
-               opt_num_interval = atoi(argv[2]);
+-              opt_num_interval = atoi(argv[2]);
++              opt_num_interval = parse_int(argv[2], opt_num_interval, 1, 
1024);
++              return OK;
++      }
++
++      if (!strcmp(argv[0], "author-width")) {
++              opt_author_cols = parse_int(argv[2], opt_author_cols, 0, 1024);
                return OK;
-@@ -1391,6 +1409,11 @@ struct view {
+       }
+ 
+       if (!strcmp(argv[0], "tab-size")) {
+-              opt_tab_size = atoi(argv[2]);
++              opt_tab_size = parse_int(argv[2], opt_tab_size, 1, 1024);
+               return OK;
+       }
+ 
+@@ -1391,6 +1419,11 @@ struct view {
        size_t line_size;       /* Total number of used lines */
        unsigned int digits;    /* Number of digits in the lines member. */
  
@@ -488,7 +614,7 @@
        /* Loading */
        FILE *pipe;
        time_t start_time;
-@@ -1404,7 +1427,7 @@ struct view_ops {
+@@ -1404,7 +1437,7 @@ struct view_ops {
        /* Read one line; updates view->line. */
        bool (*read)(struct view *view, char *data);
        /* Draw one line; @lineno must be < view->height. */
@@ -497,7 +623,7 @@
        /* Depending on view handle a special requests. */
        enum request (*request)(struct view *view, enum request request, struct 
line *line);
        /* Search for regex in a line. */
-@@ -1451,107 +1474,175 @@ static struct view views[] = {
+@@ -1451,107 +1484,175 @@ static struct view views[] = {
  #define view_is_displayed(view) \
        (view == display[0] || view == display[1])
  
@@ -567,9 +693,7 @@
  static int
 -draw_lineno(struct view *view, unsigned int lineno, int max, bool selected)
 +draw_space(struct view *view, enum line_type type, int max, int spaces)
- {
--      static char fmt[] = "%1ld";
--      char number[10] = "          ";
++{
 +      static char space[] = "                    ";
 +      int col = 0;
 +
@@ -587,7 +711,9 @@
 +
 +static bool
 +draw_lineno(struct view *view, unsigned int lineno)
-+{
+ {
+-      static char fmt[] = "%1ld";
+-      char number[10] = "          ";
 +      char number[10];
        int digits3 = view->digits < 3 ? 3 : view->digits;
        int max_number = MIN(digits3, STRING_SIZE(number));
@@ -719,7 +845,7 @@
  }
  
  static bool
-@@ -1569,19 +1660,21 @@ draw_view_line(struct view *view, unsigned int lineno)
+@@ -1569,19 +1670,21 @@ draw_view_line(struct view *view, unsigned int lineno)
        line = &view->line[view->offset + lineno];
  
        wmove(view->win, lineno, 0);
@@ -745,7 +871,7 @@
        scrollok(view->win, TRUE);
  
        return draw_ok;
-@@ -2070,10 +2163,13 @@ search_view(struct view *view, enum request request)
+@@ -2070,10 +2173,13 @@ search_view(struct view *view, enum request request)
   */
  
  static void
@@ -760,7 +886,7 @@
        set_nonblocking_input(FALSE);
        if (view->pipe == stdin)
                fclose(view->pipe);
-@@ -2085,9 +2181,6 @@ end_update(struct view *view)
+@@ -2085,9 +2191,6 @@ end_update(struct view *view)
  static bool
  begin_update(struct view *view)
  {
@@ -770,9 +896,12 @@
        if (opt_cmd[0]) {
                string_copy(view->cmd, opt_cmd);
                opt_cmd[0] = 0;
-@@ -2291,21 +2384,18 @@ update_view(struct view *view)
+@@ -2289,23 +2392,20 @@ update_view(struct view *view)
+       update_view_title(view);
+ 
  check_pipe:
-       if (ferror(view->pipe)) {
+-      if (ferror(view->pipe)) {
++      if (ferror(view->pipe) && errno != 0) {
                report("Failed to read: %s", strerror(errno));
 -              goto end;
 +              end_update(view, TRUE);
@@ -795,7 +924,7 @@
        return FALSE;
  }
  
-@@ -2340,7 +2430,7 @@ enum open_flags {
+@@ -2340,7 +2440,7 @@ enum open_flags {
        OPEN_SPLIT = 1,         /* Split current view. */
        OPEN_BACKGROUNDED = 2,  /* Backgrounded. */
        OPEN_RELOAD = 4,        /* Reload view even if it is the current. */
@@ -804,7 +933,7 @@
  };
  
  static void
-@@ -2381,6 +2471,9 @@ open_view(struct view *prev, enum request request, enum 
open_flags flags)
+@@ -2381,6 +2481,9 @@ open_view(struct view *prev, enum request request, enum 
open_flags flags)
            (nviews == 1 && base_view != display[0]))
                resize_display();
  
@@ -814,7 +943,19 @@
        if (view->ops->open) {
                if (!view->ops->open(view)) {
                        report("Failed to load %s view", view->name);
-@@ -2722,7 +2815,7 @@ view_driver(struct view *view, enum request request)
+@@ -2702,11 +2805,6 @@ view_driver(struct view *view, enum request request)
+               redraw_display();
+               break;
+ 
+-      case REQ_PROMPT:
+-              /* Always reload^Wrerun commands from the prompt. */
+-              open_view(view, opt_request, OPEN_RELOAD);
+-              break;
+-
+       case REQ_SEARCH:
+       case REQ_SEARCH_BACK:
+               search_view(view, request);
+@@ -2722,7 +2820,7 @@ view_driver(struct view *view, enum request request)
                        view = &views[i];
                        if (view->pipe)
                                report("Stopped loading the %s view", 
view->name),
@@ -823,7 +964,20 @@
                }
                break;
  
-@@ -2780,49 +2873,14 @@ view_driver(struct view *view, enum request request)
+@@ -2741,12 +2839,10 @@ view_driver(struct view *view, enum request request)
+               report("Nothing to edit");
+               break;
+ 
+-
+       case REQ_ENTER:
+               report("Nothing to enter");
+               break;
+ 
+-
+       case REQ_VIEW_CLOSE:
+               /* XXX: Mark closed views by letting view->parent point to the
+                * view itself. Parents to closed view should never be
+@@ -2780,49 +2876,14 @@ view_driver(struct view *view, enum request request)
   */
  
  static bool
@@ -839,7 +993,7 @@
 -              if (col >= view->width)
 -                      return TRUE;
 -      }
- 
+-
 -      if (!selected)
 -              wattrset(view->win, get_line_attr(line->type));
 -
@@ -851,7 +1005,7 @@
 -                      int cols_max = view->width - col_offset - col;
 -                      char *pos = text;
 -                      int cols;
--
+ 
 -                      if (*text == '\t') {
 -                              text++;
 -                              assert(sizeof(spaces) > TABSIZE);
@@ -877,7 +1031,7 @@
        return TRUE;
  }
  
-@@ -3525,9 +3583,6 @@ blame_read_file(struct view *view, char *line)
+@@ -3525,9 +3586,6 @@ blame_read_file(struct view *view, char *line)
                size_t linelen = strlen(line);
                struct blame *blame = malloc(sizeof(*blame) + linelen);
  
@@ -887,7 +1041,7 @@
                blame->commit = NULL;
                strncpy(blame->text, line, linelen);
                blame->text[linelen] = 0;
-@@ -3606,51 +3661,32 @@ blame_read(struct view *view, char *line)
+@@ -3606,51 +3664,32 @@ blame_read(struct view *view, char *line)
  }
  
  static bool
@@ -896,13 +1050,13 @@
  {
        struct blame *blame = line->data;
 -      int col = 0;
-+      struct tm *time = NULL;
-+      char *id = NULL, *author = NULL;
- 
+-
 -      if (opt_date) {
 -              struct tm *time = blame->commit && *blame->commit->filename
 -                              ? &blame->commit->time : NULL;
--
++      struct tm *time = NULL;
++      char *id = NULL, *author = NULL;
+ 
 -              col += draw_date(view, time, view->width, selected);
 -              if (col >= view->width)
 -                      return TRUE;
@@ -927,7 +1081,7 @@
 -              wmove(view->win, lineno, col);
 -      }
 +      if (opt_author &&
-+          draw_field(view, LINE_MAIN_AUTHOR, author, AUTHOR_COLS, TRUE))
++          draw_field(view, LINE_MAIN_AUTHOR, author, opt_author_cols, TRUE))
 +              return TRUE;
  
 -      {
@@ -955,7 +1109,7 @@
        return TRUE;
  }
  
-@@ -3692,23 +3728,23 @@ blame_grep(struct view *view, struct line *line)
+@@ -3692,23 +3731,23 @@ blame_grep(struct view *view, struct line *line)
        struct blame_commit *commit = blame->commit;
        regmatch_t pmatch;
  
@@ -986,7 +1140,7 @@
  
  #undef MATCH
  }
-@@ -3759,6 +3795,8 @@ struct status {
+@@ -3759,6 +3798,8 @@ struct status {
  static char status_onbranch[SIZEOF_STR];
  static struct status stage_status;
  static enum line_type stage_line_type;
@@ -995,7 +1149,7 @@
  
  /* Get fields from the diff line:
   * :100644 100644 06a5d6ae9eca55be2e0e585a152e6b1336f2b20e 
0000000000000000000000000000000000000000 M
-@@ -3977,7 +4015,7 @@ status_open(struct view *view)
+@@ -3977,7 +4018,7 @@ status_open(struct view *view)
                        return FALSE;
        }
  
@@ -1004,7 +1158,7 @@
  
        if (!status_run(view, indexcmd, indexstatus, LINE_STAT_STAGED) ||
            !status_run(view, STATUS_DIFF_FILES_CMD, 0, LINE_STAT_UNSTAGED) ||
-@@ -4009,46 +4047,36 @@ status_open(struct view *view)
+@@ -4009,46 +4050,36 @@ status_open(struct view *view)
  }
  
  static bool
@@ -1058,7 +1212,7 @@
                        text = status_onbranch;
                        break;
  
-@@ -4056,15 +4084,16 @@ status_draw(struct view *view, struct line *line, 
unsigned int lineno, bool sele
+@@ -4056,15 +4087,16 @@ status_draw(struct view *view, struct line *line, 
unsigned int lineno, bool sele
                        return FALSE;
                }
        } else {
@@ -1080,7 +1234,7 @@
        return TRUE;
  }
  
-@@ -4159,6 +4188,7 @@ status_enter(struct view *view, struct line *line)
+@@ -4159,6 +4191,7 @@ status_enter(struct view *view, struct line *line)
                }
  
                stage_line_type = line->type;
@@ -1088,7 +1242,7 @@
                string_format(VIEW(REQ_VIEW_STAGE)->ref, info, 
stage_status.new.name);
        }
  
-@@ -4303,11 +4333,14 @@ status_update(struct view *view)
+@@ -4303,11 +4336,14 @@ status_update(struct view *view)
                        return FALSE;
                }
  
@@ -1104,7 +1258,7 @@
        }
  
        return TRUE;
-@@ -4545,6 +4578,18 @@ stage_update(struct view *view, struct line *line)
+@@ -4545,6 +4581,18 @@ stage_update(struct view *view, struct line *line)
                        return FALSE;
                }
  
@@ -1123,7 +1277,7 @@
        } else if (!status_update_file(&stage_status, stage_line_type)) {
                report("Failed to update file");
                return FALSE;
-@@ -4553,14 +4598,60 @@ stage_update(struct view *view, struct line *line)
+@@ -4553,14 +4601,60 @@ stage_update(struct view *view, struct line *line)
        return TRUE;
  }
  
@@ -1185,7 +1339,7 @@
        case REQ_EDIT:
                if (!stage_status.new.name[0])
                        return request;
-@@ -4732,7 +4823,7 @@ draw_rev_graph(struct rev_graph *graph)
+@@ -4732,7 +4826,7 @@ draw_rev_graph(struct rev_graph *graph)
        };
        enum { DEFAULT, RSHARP, RDIAG, LDIAG };
        static struct rev_filler fillers[] = {
@@ -1194,7 +1348,7 @@
                { '`',  '.' },
                { '\'', ' ' },
                { '/',  ' ' },
-@@ -4741,6 +4832,9 @@ draw_rev_graph(struct rev_graph *graph)
+@@ -4741,6 +4835,9 @@ draw_rev_graph(struct rev_graph *graph)
        struct rev_filler *filler;
        size_t i;
  
@@ -1204,7 +1358,7 @@
        filler = &fillers[DEFAULT];
  
        for (i = 0; i < graph->pos; i++) {
-@@ -4824,100 +4918,54 @@ update_rev_graph(struct rev_graph *graph)
+@@ -4824,100 +4921,54 @@ update_rev_graph(struct rev_graph *graph)
   */
  
  static bool
@@ -1268,7 +1422,7 @@
 -      if (type != LINE_CURSOR)
 -              wattrset(view->win, A_NORMAL);
 +      if (opt_author &&
-+          draw_field(view, LINE_MAIN_AUTHOR, commit->author, AUTHOR_COLS, 
TRUE))
++          draw_field(view, LINE_MAIN_AUTHOR, commit->author, opt_author_cols, 
TRUE))
 +              return TRUE;
  
 -      wmove(view->win, lineno, col);
@@ -1331,7 +1485,22 @@
        return TRUE;
  }
  
-@@ -5061,10 +5109,26 @@ main_request(struct view *view, enum request request, 
struct line *line)
+@@ -4932,6 +4983,14 @@ main_read(struct view *view, char *line)
+       if (!line) {
+               if (!view->lines && !view->parent)
+                       die("No revisions match the given arguments.");
++              if (view->lines > 0) {
++                      commit = view->line[view->lines - 1].data;
++                      if (!*commit->author) {
++                              view->lines--;
++                              free(commit);
++                              graph->commit = NULL;
++                      }
++              }
+               update_rev_graph(graph);
+               return TRUE;
+       }
+@@ -5061,10 +5120,26 @@ main_request(struct view *view, enum request request, 
struct line *line)
  }
  
  static bool
@@ -1359,7 +1528,7 @@
        char buf[DATE_COLS + 1];
        regmatch_t pmatch;
  
-@@ -5073,13 +5137,24 @@ main_grep(struct view *view, struct line *line)
<<Diff was trimmed, longer than 597 lines>>

---- CVS-web:
    
http://cvs.pld-linux.org/cgi-bin/cvsweb.cgi/SOURCES/tig-git.patch?r1=1.3&r2=1.4&f=u

_______________________________________________
pld-cvs-commit mailing list
[email protected]
http://lists.pld-linux.org/mailman/listinfo/pld-cvs-commit

Reply via email to