avoid some overlong lines from posix urls, etc.
[gnulib.git] / README
diff --git a/README b/README
index 294c3f9..a00e241 100644 (file)
--- a/README
+++ b/README
@@ -19,7 +19,7 @@ script.  Since there is no installation procedure for Gnulib,
 gnulib-tool needs to be run directly in the directory that contains the
 Gnulib source code.  You can do this either by specifying the absolute
 filename of gnulib-tool, or by using a symbolic link from a
-place inside your PATH to the gnulib-tool file of your preferred 
+place inside your PATH to the gnulib-tool file of your preferred
 Gnulib checkout.  For example:
   $ ln -s $HOME/gnu/src/gnulib.git/gnulib-tool $HOME/bin/gnulib-tool
 
@@ -32,8 +32,6 @@ git and CVS
 Gnulib is available for anonymous checkout.  In any Bourne-shell the
 following should work:
   $ git clone git://git.sv.gnu.org/gnulib.git
-Or, if you prefer the CVS-like 'cogito' frontend to plain 'git':
-  $ cg clone git://git.sv.gnu.org/gnulib.git
 
 For a read-write checkout you need to have a login on savannah.gnu.org and be
 a member of the gnulib project at http://savannah.gnu.org/projects/gnulib .
@@ -51,21 +49,13 @@ git resources:
             http://www.kernel.org/pub/software/scm/git/docs/tutorial.html
   FAQ:      http://git.or.cz/gitwiki/GitFaq
 
-cogito resources:
-  Overview: http://en.wikipedia.org/wiki/Cogito_(software)
-  Homepage: http://git.or.cz/cogito/
-  Download: http://kernel.org/pub/software/scm/cogito/
-  Tutorial: http://git.or.cz/course/
+When you use "git annotate" or "git blame" with gnulib, it's recommended that
+you use the "-w" option, in order to ignore massive whitespace changes that
+happened in 2009.
 
-For those among us who have tightly limited disk space and a fast network
-connection, CVS checkouts are also supported:
+CVS checkouts are also supported:
   $ cvs -d :pserver:anonymous@pserver.git.sv.gnu.org:/gnulib.git co -d gnulib HEAD
 
-CVS checkouts from before 2007-09-19 can be converted to the new read-only CVS
-location through commands like these:
-  $ find . -name Root       -exec sed --in-place 's|.*|:pserver:anonymous@pserver.git.sv.gnu.org:/gnulib.git|' {} ';'
-  $ find . -name Repository -exec sed --in-place 's|^gnulib|/srv/git/gnulib.git/HEAD|' {} ';'
-
 Gnulib is hosted on savannah.gnu.org.  The project page is
 http://savannah.gnu.org/projects/gnulib.
 
@@ -76,8 +66,8 @@ Keeping Up-to-date
 The best way to work with Gnulib is to check it out of git.
 Subscribing to the bug-gnulib@gnu.org mailing list will help you to
 plan when to update your local copy of Gnulib (which you use to
-maintain your software) from git.  To synchronize, you can use "git pull"
-or "cg update", or "cvs update -dP" if you are still using CVS.
+maintain your software) from git.  To synchronize, you can use "git pull",
+or "cvs update -dP" if you are still using CVS.
 
 Sometimes, using an updated version of Gnulib will require you to use
 newer versions of GNU Automake or Autoconf.  You may find it helpful
@@ -124,6 +114,50 @@ available under LGPL via a "License: LGPL" information in the
 projects' modules/ file.
 
 
+Indent with spaces, not TABs
+----------------------------
+We use space-only indentation in nearly all files. This includes all
+*.h, *.c, *.y files, except for the regex module. Makefile and ChangeLog
+files are excluded, since TAB characters are part of their format.
+
+In order to tell your editor to produce space-only indentation, you
+can use these instructions.
+
+  * For Emacs: Add these lines to your Emacs initialization file
+    ($HOME/.emacs or similar):
+
+      ;; In gnulib, indent with spaces everywhere (not TABs).
+      ;; Exceptions: Makefile and ChangeLog modes.
+      (add-hook 'find-file-hook '(lambda ()
+        (if (and buffer-file-name
+                 (string-match "/gnulib\\>" (buffer-file-name))
+                 (not (string-equal mode-name "Change Log"))
+                 (not (string-equal mode-name "Makefile")))
+            (setq indent-tabs-mode nil))))
+
+  * For vi (vim): Add these lines to your $HOME/.vimrc file:
+
+      " Don't use tabs for indentation. Spaces are nicer to work with.
+      set expandtab
+
+    For Makefile and ChangeLog files, compensate this by adding this to
+    your $HOME/.vim/after/indent/make.vim and
+    $HOME/.vim/after/indent/changelog.vim files:
+
+      " Use tabs for indentation, regardless of the global setting.
+      set noexpandtab
+
+  * For Eclipse: In the "Window|Preferences" dialog (or "Eclipse|Preferences"
+    dialog on MacOS),
+    1. Under "General|Editors|Text Editors", select the "Insert spaces for tabs"
+       checkbox.
+    2. Under "C/C++|Code Style", select a code style profile that has the
+       "Indentation|Tab policy" combobox set to "Spaces only", such as the
+       "GNU [built-in]" policy.
+
+If you use the GNU indent program, pass it the option '--no-tabs'.
+
+
 How to add a new module
 -----------------------
 * Add the header files and source files to lib/.
@@ -283,8 +317,8 @@ branches to help promote this.
 
 
 -----
-Copyright 2001, 2003, 2004, 2005, 2006, 2007, 2008, 2009 Free
-Software Foundation, Inc.
+Copyright 2001, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010 Free Software
+Foundation, Inc.
 
 This program is free software: you can redistribute it and/or modify
 it under the terms of the GNU General Public License as published by