Make user summary sortable by user defined column.
[adu.git] / adu.ggo
diff --git a/adu.ggo b/adu.ggo
index 2a7cee9..0be213d 100644 (file)
--- a/adu.ggo
+++ b/adu.ggo
@@ -89,7 +89,7 @@ section "Modes"
 defgroup "mode"
 #==============
 groupdesc="
-       adu may started in one of two possible modes, each of which
+       adu may be started in one of two possible modes, each of which
        corresponds to a different command line option. Exactly one
        of these options must be given.
 
@@ -125,12 +125,37 @@ option "base-dir" b
 "directory to traverse"
 string typestr="path"
 dependon="create"
-required
+optional
+details="
+       The base directory to be traversed recursively. Must be
+       given if --create mode was selected. A warning message is
+       printed for each subdirectory that could not be read because
+       of insufficient permission. These directories will be ignored
+       when computing statistics.
+"
+
+option "one-file-system" x
+#~~~~~~~~~~~~~~~~~~~~~~~~~
+"do not dive into other file systems"
+flag off
+dependon="create"
+details="
+       Skip directories that are on different filesystems from the
+       one that the argument being processed is on.
+"
+
+option "hash-table-bits" -
+#~~~~~~~~~~~~~~~~~~~~~~~~~
+"specify the size of the uid hash table"
+int typestr="num"
+dependon="create"
+default="10"
+optional
 details="
-       The base directory to be traversed recursively. A warning
-       message is printed for each subdirectory that could not be
-       read because of insufficient permission. These directories
-       will be ignored when computing statistics.
+       Use a hash table of size 2^num for the uid entries. If more than
+       2^num different uids own at least one regular file under base-dir,
+       the command fails. Increase this value if you have more than 1024
+       users. Decreasing the value causes adu to use slightly less memory.
 "
 
 
@@ -150,16 +175,41 @@ details="
        print all lines.
 "
 
-option "units" U
-#~~~~~~~~~~~~~~~
-"select numerical output format"
-string typestr="format"
+option "size_unit" -
+#~~~~~~~~~~~~~~~~~~~
+"select output format for sizes"
+enum typestr="format"
+values="h","b","k","m","g","t"
+default="h"
+optional
+details="
+       Print sizes in the given unit: human-readable, bytes,
+       kilobytes (2^10), megabytes (2^20), gigabytes (2^30), terabytes
+       (2^40). The default is \"h\", i.e. human-readable.
+"
+
+option "count_unit" -
+#~~~~~~~~~~~~~~~~~~~~
+"select output format for counted values"
+enum typestr="format"
+values="h","n","k","m","g","t"
+default="h"
+optional
+details="
+       Print the number of files/directories in the given unit:
+       human-readable, number, number/10^3, number/10^6, number/10^12,
+       number/10^15. The default is to print numbers in human-readable
+       format.
+"
+
+option "user-summary-sort" -
+#~~~~~~~~~~~~~~~~~~~~~~~~~~~
+"how to sort the user-summary"
+enum typestr="col_spec"
+values="name","uid","dir_count","file_count","size"
+default="size"
 optional
 details="
-       Print the number of files/directories and the sizes in
-       the given format.  All  sizes  are output in these units:
-       (h)uman-readable, (b)ytes, (k)ilobytes, (m)egabytes,
-       (g)igabytes, (t)erabytes.  Capitalise to use multiples
-       of 1000 (S.I.) instead of 1024. The default is \"h\",
-       i.e. human-readable.
+       It is enough to specify the first letter of the column specifier,
+       e.g. \"--user-summary-sort f\" sorts by file count.
 "