= GIT Prompt - there is a lot more than a branch-name
:compact-option: compact
== Basic Usage
image:screenshot-prompt-basic.png[basic usage]
Digit [red]*1* on 3rd line is `false(1)` exit code. Hosts are colored as configured in `git-prompt.sh` file.
== GIT
Branch and files are colored according to state. "M" stands for master.
image:screenshot-prompt-git.png[git module]
.Branch and Files Colors
[cols="^3,^3,12",frame="topbot",options="header"]
|================================================================
| *Branch* | *File* | *Meaning*
| [darkblue]#dark blue# | | Clean repo
| [green]#green# | [green]#green# | Modified or new file. Modifications are in index but not in repo yet.
| [red]#dark red# | [red]#darkred# | Modified and tracked by repo, but modifications not added to index yet.
| [blue]#light blue# | [blue]#light blue# | Untracked file.
| [red]#light red# | | Detached Head
| [magenta]#magenta# | | In middle of doing something
|================================================================
== Subversion
...
== Labels
...
== Install
Download link:git-prompt.sh[] or get with GIT:
------------------
git clone git://github.com/lvv/git-prompt.git
---------------
Put following command in our profile in interactive section:
---------------------
. /path/to/git-prompt.sh
---------------------
If there are no interactivity test in your profile, then above command should be:
--------------------
[[ $- == *i* ]] && . /etc/git-prompt.sh
---------------------
== DEPENDENCY
Most of dependencies (except git and svn) are probably already installed on your host.
- bash (tested with v3.2.33)
- git (optional)
- svn (optional)
- sed
- tput (terminfo)
- tty (core utils)
- grep
- locale (glibc)
- id (core utils)
== TODO
- different host color even if they are not in config
- external config at `/etc/git-prompt.conf` and `~/.git-prompt.conf`
- always display remote hostname if login is through sshd (how to detect this?)
- new mail (howto at: `http://kikhome.net/?p=11` )
- ctrl-Z subshell indicator
- screenshots for labels and svn module
- VIM module needs to be moved out of GIT module
- make module (to show generated, stale files)
- How detect current merge? (current method through .git/MERGE_HEAD not always works)
== DONE
- TO FIX: when file list is too long, git-prompt truncates it. Sometimes this truncation can be on color escape sequence.