Subject: [PATCH v4 00/13] Column display again

From: Nguyễn Thái Ngọc Duy <[email-masked]>
Date: Fri, 3 Feb 2012 20:34:25 +0700

Reroll of v3 [1]. This series adds support for column display like
"ls". "git branch", "git tag -l" and "git status"'s untracked files
can now be displayed in columns. There's also "git-column" to help
do the layout for commands that are not aware of column display. In
fact git-tag uses it this way.

I've been thinking of supporting the layout where a cell's content can
occupy more than one cell. It'll make better use of space when there
are a few long entries. Something like this:

abc    def    ghk
longlonglong  short
again  here   now

"git status" may benefit when you have untracked files in some deep
directories.

"ls -R" layout is also an option ("branch -r" and ls-files will
benefit due to dense tree output). But these ideas will have to wait
until later.

Compared to v3, it has "git status" support, the return of git-column,
and column.* conf vars.

[1] http://mid.gmane.org/[email-masked]

Nguyễn Thái Ngọc Duy (13):
  Save terminal width before setting up pager
  column: add API to print items in columns
  parseopt: make OPT_INTEGER support hexadecimal as well
  Add git-column and column mode parsing
  Stop starting pager recursively
  column: add columnar layout
  column: support columns with different widths
  column: add column.ui for default column output settings
  help: reuse print_columns() for help -a
  branch: add --column
  status: add --column
  column: support piping stdout to external git-column process
  tag: add --column

 .gitignore                   |    1 +
 Documentation/config.txt     |   38 ++++
 Documentation/git-branch.txt |    9 +
 Documentation/git-column.txt |   53 +++++
 Documentation/git-status.txt |    7 +
 Documentation/git-tag.txt    |   11 +-
 Makefile                     |    3 +
 builtin.h                    |    1 +
 builtin/branch.c             |   26 ++-
 builtin/column.c             |   64 ++++++
 builtin/commit.c             |   13 +-
 builtin/tag.c                |   25 ++-
 column.c                     |  493 ++++++++++++++++++++++++++++++++++++++++++
 column.h                     |   41 ++++
 command-list.txt             |    1 +
 git.c                        |    1 +
 help.c                       |   70 ++-----
 pager.c                      |   37 +++-
 parse-options.c              |    5 +-
 parse-options.h              |    2 +
 t/t9002-column.sh            |  135 ++++++++++++
 wt-status.c                  |   38 +++-
 wt-status.h                  |    2 +-
 23 files changed, 1002 insertions(+), 74 deletions(-)
 create mode 100644 Documentation/git-column.txt
 create mode 100644 builtin/column.c
 create mode 100644 column.c
 create mode 100644 column.h
 create mode 100755 t/t9002-column.sh

-- 
1.7.8.36.g69ee2