<?xml version="1.0" encoding="UTF-8"?>
<commit>
  <added type="array">
    <added>
      <filename>screenshot-labels.png</filename>
    </added>
    <added>
      <filename>screenshot-labels.xcf</filename>
    </added>
    <added>
      <filename>screenshot-svn.png</filename>
    </added>
  </added>
  <modified type="array">
    <modified>
      <diff>@@ -6,8 +6,8 @@ tgit:
 	xclip -i git-demo
 	echo &quot;ready to paste ...&quot;
 
-WEB_DESTDIR ?= /tmp/html
-ASCIIDOC ?= asciidoc
+WEB_DESTDIR ?= /tmp/localweb
+ASCIIDOC ?= asciidoc --unsafe
 
 
 show: localweb</diff>
      <filename>Makefile</filename>
    </modified>
    <modified>
      <diff>@@ -1,48 +1,4 @@
 GIT Prompt for BASH
 
-    Screenshots and docs at: http://volnitsky.com/project/git-prompt
+Screenshots and docs at: http://volnitsky.com/project/git-prompt
 
-
-INSTALL
-
-	Put following command in our profile in interactive section:
-
-		. /path/to/git-prompt.sh
-
-	If there are no interactivity test, then above command should be:
-
-		[[ $- == *i* ]] &amp;&amp; . /path/to/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
-	- git locked state if .git/index.lock exist
-	- external config at /etc/git-prompt.conf  and ~/.git-prompt.conf
-	- avoid wrapping to 2nd line if file list is too long - check current terminal width
-	- new mail (howto at: http://kikhome.net/?p=11)
-	- ^Z subshell indicator
-	- wiki/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.  
-	- limit number of files displayed
-        
-
-leonid@volnitsky.com
-http://github.com/lvv/git-prompt/tree/master</diff>
      <filename>README</filename>
    </modified>
    <modified>
      <diff>@@ -1,43 +1,55 @@
-# git-prompt.sh config
-# 
-# commented-out variales are default values
 
+###  GIT-PROMPT.SH CONFIG
+###
+###    lines commented-out with single '#' are default values
+###    lines commented-out with double '##' are examples
 
-#####  MODULES
-#git_module=on
-#svn_module=off
-#vim_module=on
 
+############################################################   MODULES
 
-###  Default objects are not displayed 
-#default_user=lvv 		
-#default_host=&quot;ahp&quot;     		# remote host is always shown
-#default_domain=&quot;lvvnet&quot;	
+# git_module=on
+# svn_module=off
+# vim_module=on
 
+# max_file_list_length=100	# in characters
 
-#####  dir, exit code, root color 
-#if [ 0`tput colors` -ge 8 ];  then		#  if terminal supports colors
+###########################################################   DEFAULT OBJECTS
+
+###  Default objects are not displayed.  Example:
+
+## default_user=lvv 		
+## default_host=&quot;ahp&quot;     		# remote host is always shown
+## default_domain=&quot;lvvnet&quot;	
+
+
+###########################################################   COLOR 
+
+###  directory, exit code, root color 
+
+# if [ 0`tput colors` -ge 8 ];  then		#  if terminal supports colors
 	#	dir_color=CYAN
 	#	rc_color=red
 	#	root_id_color=magenta
-#else						#  B/W terminal
+# else						#  B/W terminal
 	#	dir_color=bw_bold
 	#	rc_color=bw_bold
-#fi
+# fi
+
+
+#####  Per host color.  If not set, color derived from host-name  checksum)
+
+### variable name is uppercase-short-hostname with appended &quot;_host_color&quot;
+### Per host color.  If not set, color derived from host-name  checksum)
+### Example per-host-color config:  
 
-#####  Per host color  .If not set, color derived from host-name  checksum)
-## variable name is uppercase-short-hostname with appended &quot;_host_color&quot;
-## Per host color.  If not set, color derived from host-name  checksum)
-## Example per-host-color config:  
-##
 ##	    TASHA_host_color=cyan
 ##	       AL_host_color=green
 ##	      LVV_host_color=blue
 ##	      AHP_host_color=white
 
 
+#####  VCS (version control system)  state colors
 
-#####  VCS state colors
 #		 init_vcs_color=WHITE     # initial
 #		clean_vcs_color=blue      # nothing to commit (working directory clean)
 #	     modified_vcs_color=red       # Changed but not updated:
@@ -47,7 +59,5 @@
 #		   op_vcs_color=MAGENTA
 #	     detached_vcs_color=RED
 
-#	max_file_list_length=100
-
 
 : vim:ft=sh:</diff>
      <filename>git-prompt.conf</filename>
    </modified>
    <modified>
      <diff>@@ -1,6 +1,6 @@
-= GIT Prompt - there is a lot more than a branch-name
+= GIT Prompt
 
-//  To see HTML rendered web page go to:   http://volnitsky.com/project/lopti
+//  To see HTML rendered web page go to:  http://volnitsky.com/project/git-prompt
 
 :v-p:		http://volnitsky.com/project
 :compact-option: compact
@@ -17,7 +17,7 @@ Digit [red]*1* on 3rd line is `false(1)` exit code.
 
 Branch and files are colored according to state. &quot;M&quot; stands for master. 
 
-image:screenshot-prompt-git.png[git module]
+image:screenshot-prompt-git.png[git module screenshot]
 
 .Branch and Files Colors
 [cols=&quot;^3,^3,12&quot;,frame=&quot;topbot&quot;,options=&quot;header&quot;]
@@ -31,12 +31,49 @@ image:screenshot-prompt-git.png[git module]
 | [magenta]#magenta#       |                          | In middle of doing something 
 |================================================================
 
+
 ==  Subversion
-...
+image:screenshot-svn.png[svn module screenshot]
+
+SVN module disabled by default because even on moderate sized working
+directories there is noticeable delay for prompt display.  SVN is slower then
+GIT.  Enable if needed in &lt;&lt;config,config&gt;&gt; 
+
 
 == Labels
 
-...
+Labels are very much like xterm-title and serve purpose of being  visual cues to help figure out what is
+running what command.
+
+They are displayed in terminal titles, terminal tabs, `screen(1)` status
+line and some other places.
+
+image:screenshot-labels.png[&quot;labels screenshot&quot;, width=&quot;300&quot;, link=&quot;screenshot-labels.png&quot;]
+
+The `screen(1)` status line at bottom of smaller gnome-terminal is displayed with
+following `~/.screenrc` line:
+
+---------
+caption always &quot;%{= kw}%-w%{= bw}%n %t%{-}%+w %-= @%H - %LD %d %LM - %c&quot;
+---------
+
+We don't need to do any thing for something like `cd` or `ssh` (if you have
+git-prompt on remote host).
+For external command we need set label before it is executed.
+It would be simple if `bash` set command name to some variable before execution,
+but it does not do this. So we have to use not elegant wrappers.
+We can not write wrapper for every command. 
+I use wrapper only for `vim` and `man` in my `~/.bashrc`
+
+-------------------------
+vi() {  set_shell_title &quot;vi $@&quot;; /usr/bin/vim -p &quot;$@&quot;; };  export -f vi
+man() { set_shell_title &quot;man $@&quot;; /usr/bin/man &quot;$@&quot;;  }; export -f man
+----------------------------
+
+Note that vim sets xterm title itself, but we still use wrapper to set `screen` labels.
+Function `set_shell_title` defined in `git-prompt.sh`.
+
+
 
 == Install
 Download  link:git-prompt.sh[] or get it with GIT:
@@ -51,12 +88,41 @@ 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:
+If there are no interactivity test in your profile or you don't know what it
+is, then above command should be:
 
 --------------------
   [[ $- == *i* ]] &amp;&amp; . /etc/git-prompt.sh
 ---------------------
 
+
+== Config 
+[[config]]
+
+Git-prompt sources two config file if they are present:
+
+- `/etc/git-prompt.conf`
+- `~/.git-prompt.conf`
+
+Copy example config `git-prompt.conf` 
+to any of above locations and customize as needed.
+
+
+== Limitations
+
+- cd-ing into something like linux kernel git working directory for the 1st
+  time (with cold cache) will take about 10 seconds (that is how long `git status` executes).
+- Because you will be always reminded about not checking-in files, you will
+  be more disciplined about maintaining clean working
+  directory.  And you probably will better maintain `.gitignore` and commit more often.
+- If you have terminal with limited width, you might want to disable
+  file list display (`max_file_list_length=0`).
+- When prompt is longer then screen-width it wraps to second line. Because of
+  bug in `gnome-terminal` (or `readline`?) some color escape codes can be
+  visible on second line.  I've reported gnome-terminal bug.
+  Again, you can disable file list display or limit length (`max_file_list_length`).
+
+
 == DEPENDENCY
 
 Most of dependencies (except git and svn) are probably already installed on your host. 
@@ -67,23 +133,17 @@ Most of dependencies (except git and svn) are probably already installed on your
 - sed
 - tput  (terminfo)
 - tty  (core utils)
-- grep  
+- grep
 - locale  (glibc)
 - id   (core utils)
 
-include::../volnitsky.com/project/howto-submit-patch.txt[]
 
 == TODO
 
-- 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
-- different host color even if they are not in config
-- TO FIX: when file list is too long, git-prompt truncates it. Sometimes this truncation can be on color escape sequence.
+include::../volnitsky.com/project/howto-submit-patch.txt[]</diff>
      <filename>index.txt</filename>
    </modified>
  </modified>
  <removed type="array">
    <removed>
      <filename>labels-screenshot.png</filename>
    </removed>
    <removed>
      <filename>svn-screenshot.png</filename>
    </removed>
  </removed>
  <parents type="array">
    <parent>
      <id>646ca93318631d89fb22d4c26ba1a60eaca2c204</id>
    </parent>
  </parents>
  <author>
    <name>Leonid Volnitsky</name>
    <email>Leonid@Volnitsky.com</email>
  </author>
  <url>http://github.com/lvv/git-prompt/commit/6809ac7a818051182090a09b94441070f01c4b3a</url>
  <id>6809ac7a818051182090a09b94441070f01c4b3a</id>
  <committed-date>2009-03-17T12:01:54-07:00</committed-date>
  <authored-date>2009-03-16T05:43:13-07:00</authored-date>
  <message>-- docs for external config, labels</message>
  <tree>5d180cf6cebab88ec89feefb0fb01c5beceed7b2</tree>
  <committer>
    <name>Leonid Volnitsky</name>
    <email>Leonid@Volnitsky.com</email>
  </committer>
</commit>
