+# BestObjid includes as much as it can of the git commit object hash,
+# and never includes any of the count.
+#
+# All of these will autoscale and autorotate the selected model, and
+# will include an internal margin of the specified size (by default,
+# one pixel around each edge). If no margin is needed, pass margin=0.
+#
+# There are no `function Commitid_Best*_sz'. If they existed they
+# would simply return max_sz.
+#
+#
+# Output format
+# -------------
+#
+# In general the output, although it may be over multiple lines,
+# is always in this order
+# git commit object id (hash)
+# dirty indicator
+# git commit count
+#
+# Not all layouts have all these parts. The commit object id may
+# sometimes be split over multiple lines, but the count will not be.
+# If both commit id and commit count appear they will be separated
+# by (at least) a newline, or a dirty indicator, or a space.
+#
+# The commit id is truncated to fit, from the right.
+#
+# The commit count is truncated from the _left_, leaving the least
+# significant decimal digits.
+#
+# The dirty indicator can be
+#
+# * meaning the working tree contains differences from HEAD
+#
+# + meaning the working tree contains untracked files
+# (ie files you have failed to `git add' and also failed
+# to add to gitignore). (But see the -i option.)
+#
+#
+# Specific layouts
+# ----------------
+#
+# If you want to control the exact layout (and make space for it in
+# your design), you can use these:
+#
+# module Commitid_LAYOUT_2D()
+# module Commitid_LAYOUT()
+# function Commitid_LAYOUT_sz()
+#
+# Here LAYOUT is one of the following (giving for example, `module
+# Commitid_Full8_2D'). In the examples, we will assume that the tree
+# is dirty, the commit count is 123456, and the commit object id
+# starts abcdeffedbcaabcdef... In the examples `_' shows where a
+# space would be printed.
+#
+# Small2 Small3 ... Small10
+# A single line containing as much of the count will fit, eg: