Total Pageviews

Sunday, 2 March 2014

tig:git repo浏览器

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

Bugs and Feature Requests

Bugs and feature requests can be reported using the issue tracker at https://github.com/jonas/tig/issues or by mail to either the Git mailing list or directly to the maintainer. Ensure that the word "tig" is in the subject. For other Tig related questions please use Stack Overflow: http://stackoverflow.com/questions/tagged/tig.

Installation and News

Information on how to build and install Tig are found in the installation instructions.

from https://github.com/jonas/tig
http://jonas.nitro.dk/tig/
----------------------------------------------

Installation instructions

Download a tarball from http://jonas.nitro.dk/tig/releases or clone the Tig repository git://github.com/jonas/tig.git.
The quick and simple way to install Tig is:
$ make
$ make install
By default, tig is installed in $HOME/bin. To install tig elsewhere set prefix to the desired path:
$ make prefix=/usr/local
$ sudo make install prefix=/usr/local
Documentation files, such as manpages, are distributed in the release tarballs, and can be installed using:
$ make install-doc
When installing directly from the Tig repository, make install-doc will assume that the documentation tool chain is available and build the documentation locally. In case you do not wish to install the required tools, documentation can be installed from the release branch using:
$ make install-release-doc
Before upgrading, you are advised to read the release notes.

Installation using configure

Optionally, you can use the configure script to detect dependencies:
$ ./configure
$ make
$ make install
If your iconv library is not in the default library and include path, you need to pass the --with-libiconv option to configure to tell it where to look.
Note, if you are building from the Tig repository, you need to generate configure yourself. First, ensure that autoconf is installed on your system, and then run the following command:
$ make configure

Build configuration

Build settings are read from the file config.make and for certain systems also from contrib/config.make-$kernel. An example of the latter is Mac OS X, where contrib/config.make-Darwin provides out-of-the-box configuration for using the system ncurses library and linking with the iconv library. This makes it easy to configure the build without having to use the configure script. As a side note, configure itself generates a config.make file.
Apart from the different standard make build variables (CC, CFLAGS, etc.) and standard configure variables (prefix, bindir, etc.), build settings can be one of the following flags:
  • NO_SETENV: Define this variable to enable work-around for missing setenv().
  • NO_MKSTEMPS: Define this variable to enable work-around for missing mkstemps().
  • NO_BUILTIN_TIGRC: Reduce the size of the binary by not including a built-in tigrc. The built-in tigrc is used as a fallback when no tigrc is found in the system configuration directory (e.g. /etc).
The following example config.make manually configures Tig to use the ncurses library with wide character support and include the proper ncurses header file (see tig.h for more information):
LDLIBS = -lncursesw
CPPFLAGS = -DHAVE_NCURSESW_CURSES_H
For more examples of build settings, see contrib/config.make and config.make.in.

Tools and packages

The following tools and packages are needed:
Tool Description
git-core Tig is just a frontend for Git.
ncurses or ncursesw Be sure to have the development files installed. Usually they are available in a separate package ending with -dev.
Ncurses with wide character support (ncursesw) is required to properly handle UTF-8 encoded strings.
Note for packagers: For Tig’s configure script to work as expected you should avoid configuring and building ncurses using --with-shared.
iconv If iconv is not provided by the c library you need to change the Makefile to link it into the binary.
The following optional tools and packages are needed for creating the configure script and building documentation:
Tool Description
autoconf Contains autoreconf for generating configure from configure.ac.
asciidoc (>= 8.4) Generates HTML and (DocBook) XML from text.
xmlto Generates manpages and chunked HTML from XML.
DocBook XSL (>= 1.72.0) Used by xmlto for building manpages.
DocBook (DSSL/Jade) tools Generates PDF from XML. Also known as docbook-utils

from https://github.com/jonas/tig/blob/master/INSTALL.adoc