+# DGIT-REPOS-DIR contains:
+# git tree (or other object) lock (in acquisition order, outer first)
+#
+# _tmp/PACKAGE_prospective ! } SAME.lock, held during receive-pack
+#
+# _tmp/PACKAGE_incoming$$ ! } SAME.lock, held during receive-pack
+# _tmp/PACKAGE_incoming$$_fresh ! }
+#
+# PACKAGE.git } PACKAGE.git.lock
+# PACKAGE_garbage } (also covers executions of
+# PACKAGE_garbage-old } policy hook script for PACKAGE)
+# PACKAGE_garbage-tmp }
+#
+# leaf locks, held during brief operaton only:
+#
+# _empty } SAME.lock
+# _empty.new }
+#
+# _template } SAME.lock
+#
+# locks marked ! may be held during client data transfer
+
+# What we do on push is this: