Merge branch 'js/reverse'
[gitweb.git] / Documentation / git-ls-files.txt
index e813f8420275f5b95810646c2a43c35f57a5ba70..79e0b7b71a126537091fdb159a1141036215fb63 100644 (file)
@@ -3,7 +3,7 @@ git-ls-files(1)
 
 NAME
 ----
-git-ls-files - Information about files in the index/working directory
+git-ls-files - Show information about files in the index and the working tree
 
 
 SYNOPSIS
@@ -14,9 +14,9 @@ SYNOPSIS
                (-[c|d|o|i|s|u|k|m])\*
                [-x <pattern>|--exclude=<pattern>]
                [-X <file>|--exclude-from=<file>]
-               [--exclude-per-directory=<file>] 
+               [--exclude-per-directory=<file>]
                [--error-unmatch]
-               [--full-name] [--] [<file>]\*
+               [--full-name] [--abbrev] [--] [<file>]\*
 
 DESCRIPTION
 -----------
@@ -52,6 +52,9 @@ OPTIONS
        If a whole directory is classified as "other", show just its
        name (with a trailing slash) and not its whole contents.
 
+--no-empty-directory::
+       Do not list empty directories. Has no effect without --directory.
+
 -u|--unmerged::
        Show unmerged files in the output (forces --stage)
 
@@ -98,7 +101,12 @@ OPTIONS
        option forces paths to be output relative to the project
        top directory.
 
---::
+--abbrev[=<n>]::
+       Instead of showing the full 40-byte hexadecimal object
+       lines, show only handful hexdigits prefix.
+       Non default number of digits can be specified with --abbrev=<n>.
+
+\--::
        Do not interpret any more arguments as options.
 
 <file>::
@@ -187,8 +195,7 @@ An exclude pattern is of the following format:
 
  - if it does not contain a slash '/', it is a shell glob
    pattern and used to match against the filename without
-   leading directories (i.e. the same way as the current
-   implementation).
+   leading directories.
 
  - otherwise, it is a shell glob pattern, suitable for
    consumption by fnmatch(3) with FNM_PATHNAME flag.  I.e. a
@@ -200,7 +207,7 @@ An exclude pattern is of the following format:
 An example:
 
 --------------------------------------------------------------
-    $ cat .git/ignore
+    $ cat .git/info/exclude
     # ignore objects and archives, anywhere in the tree.
     *.[oa]
     $ cat Documentation/.gitignore
@@ -210,10 +217,23 @@ An example:
     !foo.html
     $ git-ls-files --ignored \
         --exclude='Documentation/*.[0-9]' \
-        --exclude-from=.git/ignore \
+        --exclude-from=.git/info/exclude \
         --exclude-per-directory=.gitignore
 --------------------------------------------------------------
 
+Another example:
+
+--------------------------------------------------------------
+    $ cat .gitignore
+    vmlinux*
+    $ ls arch/foo/kernel/vm*
+    arch/foo/kernel/vmlinux.lds.S
+    $ echo '!/vmlinux*' >arch/foo/kernel/.gitignore
+--------------------------------------------------------------
+
+The second .gitignore keeps `arch/foo/kernel/vmlinux.lds.S` file
+from getting ignored.
+
 
 See Also
 --------