Merge branch 'js/cvsexportcommit'
[gitweb.git] / Documentation / git-rev-parse.txt
index f02f6bbb49182c0dffce205b24a4199d824dc776..69599ffb679b17ebbe6ba85c772cd10a3511d89e 100644 (file)
@@ -52,6 +52,11 @@ OPTIONS
        The parameter given must be usable as a single, valid
        object name.  Otherwise barf and abort.
 
+-q, --quiet::
+       Only meaningful in `--verify` mode. Do not output an error
+       message if the first argument is not a valid object name;
+       instead exit with non-zero status silently.
+
 --sq::
        Usually the output is made one line per flag and
        parameter.  This option makes output a single line,
@@ -325,7 +330,7 @@ The lines after the separator describe the options.
 Each line of options has this format:
 
 ------------
-<opt_spec><arg_spec>? SP+ help LF
+<opt_spec><flags>* SP+ help LF
 ------------
 
 `<opt_spec>`::
@@ -334,10 +339,17 @@ Each line of options has this format:
        is necessary. `h,help`, `dry-run` and `f` are all three correct
        `<opt_spec>`.
 
-`<arg_spec>`::
-       an `<arg_spec>` tells the option parser if the option has an argument
-       (`=`), an optional one (`?` though its use is discouraged) or none
-       (no `<arg_spec>` in that case).
+`<flags>`::
+       `<flags>` are of `*`, `=`, `?` or `!`.
+       * Use `=` if the option takes an argument.
+
+       * Use `?` to mean that the option is optional (though its use is discouraged).
+
+       * Use `*` to mean that this option should not be listed in the usage
+         generated for the `-h` argument. It's shown for `--help-all` as
+         documented in linkgit:gitcli[7].
+
+       * Use `!` to not make the corresponding negated long option available.
 
 The remainder of the line, after stripping the spaces, is used
 as the help associated to the option.
@@ -366,6 +378,31 @@ C?        option C with an optional argument"
 eval `echo "$OPTS_SPEC" | git-rev-parse --parseopt -- "$@" || echo exit $?`
 ------------
 
+EXAMPLES
+--------
+
+* Print the object name of the current commit:
++
+------------
+$ git rev-parse --verify HEAD
+------------
+
+* Print the commit object name from the revision in the $REV shell variable:
++
+------------
+$ git rev-parse --verify $REV
+------------
++
+This will error out if $REV is empty or not a valid revision.
+
+* Same as above:
++
+------------
+$ git rev-parse --default master --verify $REV
+------------
++
+but if $REV is empty, the commit object name from master will be printed.
+
 
 Author
 ------