/**
* Parse a git revision string and return an object id.
*
- * Currently supported is combinations of these.
+ * Combinations of these operators are supported:
* <ul>
- * <li>SHA-1 - a SHA-1</li>
- * <li>refs/... - a ref name</li>
- * <li>ref^n - nth parent reference</li>
- * <li>ref~n - distance via parent reference</li>
- * <li>ref@{n} - nth version of ref</li>
- * <li>ref^{tree} - tree references by ref</li>
- * <li>ref^{commit} - commit references by ref</li>
+ * <li><b>HEAD</b>, <b>MERGE_HEAD</b>, <b>FETCH_HEAD</b></li>
+ * <li><b>SHA-1</b>: a complete or abbreviated SHA-1</li>
+ * <li><b>refs/...</b>: a complete reference name</li>
+ * <li><b>short-name</b>: a short reference name under {@code refs/heads},
+ * {@code refs/tags}, or {@code refs/remotes} namespace</li>
+ * <li><b>tag-NN-gABBREV</b>: output from describe, parsed by treating
+ * {@code ABBREV} as an abbreviated SHA-1.</li>
+ * <li><i>id</i><b>^</b>: first parent of commit <i>id</i>, this is the same
+ * as {@code id^1}</li>
+ * <li><i>id</i><b>^0</b>: ensure <i>id</i> is a commit</li>
+ * <li><i>id</i><b>^n</b>: n-th parent of commit <i>id</i></li>
+ * <li><i>id</i><b>~n</b>: n-th historical ancestor of <i>id</i>, by first
+ * parent. {@code id~3} is equivalent to {@code id^1^1^1} or {@code id^^^}.</li>
+ * <li><i>id</i><b>:path</b>: Lookup path under tree named by <i>id</i></li>
+ * <li><i>id</i><b>^{commit}</b>: ensure <i>id</i> is a commit</li>
+ * <li><i>id</i><b>^{tree}</b>: ensure <i>id</i> is a tree</li>
+ * <li><i>id</i><b>^{tag}</b>: ensure <i>id</i> is a tag</li>
+ * <li><i>id</i><b>^{blob}</b>: ensure <i>id</i> is a blob</li>
* </ul>
*
- * Not supported is:
+ * <p>
+ * The following operators are specified by Git conventions, but are not
+ * supported by this method:
* <ul>
- * <li>timestamps in reflogs, ref@{full or relative timestamp}</li>
+ * <li><b>ref@{n}</b>: n-th version of ref as given by its reflog</li>
+ * <li><b>ref@{time}</b>: value of ref at the designated time</li>
* </ul>
*
* @param revstr
* {@code revstr} contains an abbreviated ObjectId and this
* repository contains more than one object which match to the
* input abbreviation.
+ * @throws IncorrectObjectTypeException
+ * the id parsed does not meet the type required to finish
+ * applying the operators in the expression.
+ * @throws RevisionSyntaxException
+ * the expression is not supported by this implementation, or
+ * does not meet the standard syntax.
* @throws IOException
* on serious errors
*/