summaryrefslogtreecommitdiff
path: root/.html/dev/commit-messages.html
diff options
context:
space:
mode:
authorOwen Jacobson <owen.jacobson@grimoire.ca>2015-07-03 22:31:49 -0400
committerOwen Jacobson <owen.jacobson@grimoire.ca>2015-07-03 22:35:09 -0400
commit76aed6ef732de38d82245b3d674f70bab30221e5 (patch)
treed50e9a296d91ef8a49bcb29c3e80096f200a3c26 /.html/dev/commit-messages.html
parent92f66d3e3a0996bb1fad9dc83d7e184f92673e5d (diff)
Fuck it, serve the files directly.
Diffstat (limited to '.html/dev/commit-messages.html')
-rw-r--r--.html/dev/commit-messages.html163
1 files changed, 163 insertions, 0 deletions
diff --git a/.html/dev/commit-messages.html b/.html/dev/commit-messages.html
new file mode 100644
index 0000000..45a580e
--- /dev/null
+++ b/.html/dev/commit-messages.html
@@ -0,0 +1,163 @@
+<!DOCTYPE html>
+<html>
+<head>
+ <title>
+ The Codex »
+ Writing Good Commit Messages
+ </title>
+
+ <link
+ rel='stylesheet'
+ type='text/css'
+ href='http://fonts.googleapis.com/css?family=Buenard:400,700&amp;subset=latin,latin-ext'>
+ <link
+ rel="stylesheet"
+ type="text/css"
+ href="../media/css/reset.css">
+ <link
+ rel="stylesheet"
+ type="text/css"
+ href="../media/css/grimoire.css">
+</head>
+<body>
+
+<div id="shell">
+
+ <ol id="breadcrumbs">
+
+ <li class="crumb-0 not-last">
+
+ <a href="../">index</a>
+
+ </li>
+
+ <li class="crumb-1 not-last">
+
+ <a href="./">dev</a>
+
+ </li>
+
+ <li class="crumb-2 last">
+
+ commit-messages
+
+ </li>
+
+ </ol>
+
+
+
+ <div id="article">
+ <h1 id="writing-good-commit-messages">Writing Good Commit Messages</h1>
+<p>Rule zero: “good” is defined by the standards of the project you're on. Have a
+look at what the existing messages look like, and try to emulate that first
+before doing anything else.</p>
+<p>Having said that, here are some things that will help your commit messages be
+useful later:</p>
+<ul>
+<li>
+<p>Treat the first line of the message as a one-sentence summary. Most SCM
+ systems have an “overview” command that shows shortened commit messages in
+ bulk, so making the very beginning of the message meaningful helps make
+ those modes more useful for finding specific commits. <em>It's okay for this to
+ be a “what” description</em> if the rest of the message is a “why” description.</p>
+</li>
+<li>
+<p>Fill out the rest of the message with prose outlining why you made the
+ change. The guidelines for a good “why” message are the same as <a href="comments">the
+ guidelines for good comments</a>, but commit messages can be
+ signifigantly longer. Don't bother reiterating the contents of the change in
+ detail; anyone who needs that can read the diff themselves.</p>
+</li>
+<li>
+<p>If you use an issue tracker (and you should), include whatever issue-linking
+ notes it supports right at the start of the message, where it'll be visible
+ even in shortlogs. If your tracker has absurdly long issue-linking syntax,
+ or doesn't support issue links in commits at all, include a short issue
+ identifier at the front of the message and put the long part somewhere out
+ of the way, such as on a line of its own at the end of the message.</p>
+</li>
+<li>
+<p>Pick a tense and a mood and stick with them. Reading one commit with a
+ present-tense imperative message (“Add support for PNGs”) and another commit
+ with a past-tense narrative message (“Fixed bug in PNG support”) is
+ distracting.</p>
+</li>
+<li>
+<p>If you need rich commit messages (links, lists, and so on), pick one markup
+ language and stick with it. It'll be easier to write useful commit
+ formatters if you only have to deal with one syntax, rather than four.
+ (Personally, I use Markdown on projects I control.)</p>
+<ul>
+<li>This also applies to line-wrapping: either hard-wrap everywhere, or
+ hard-wrap nowhere.</li>
+</ul>
+</li>
+</ul>
+<h2 id="an-example">An Example</h2>
+<pre><code>commit 842e6c5f41f6387781fcc84b59fac194f52990c7
+Author: Owen Jacobson &lt;owen.jacobson@grimoire.ca&gt;
+Date: Fri Feb 1 16:51:31 2013 -0500
+
+ DS-37: Add support for privileges, and create a default privileged user.
+
+ This change gives each user a (possibly empty) set of privileges. Privileges
+ are mediated by roles in the following ways:
+
+ * Each user is a member of zero or more roles.
+ * Each role implies membership in zero or more roles. If role A implies role
+ B, then a member of role A is also a transitive member of role B. This
+ relationship is transitive: if A implies B and B implies C, then A implies
+ C. This graph should not be cyclic, but it's harmless if it is.
+ * Each role grants zero or more privileges.
+
+ A user's privileges are the union of all privileges of all roles the user is a
+ member of, either directly or transitively.
+
+ Obviously, a role that implies no other roles and grants no priveleges is
+ meaningless to the authorization system. This may be useful for "advisory"
+ roles meant for human consumption.
+
+ This also introduces a user with the semi-magical name '*admin' (chosen
+ because asterisks cannot collide with player-chosen usernames), and the group
+ '*superuser' that is intended to hold all privileges. No privileges are yet
+ defined.
+</code></pre>
+ </div>
+
+
+
+<div id="comments">
+<div id="disqus_thread"></div>
+<script type="text/javascript">
+ /* * * CONFIGURATION VARIABLES: EDIT BEFORE PASTING INTO YOUR WEBPAGE * * */
+ var disqus_shortname = 'grimoire'; // required: replace example with your forum shortname
+
+ /* * * DON'T EDIT BELOW THIS LINE * * */
+ (function() {
+ var dsq = document.createElement('script'); dsq.type = 'text/javascript'; dsq.async = true;
+ dsq.src = 'http://' + disqus_shortname + '.disqus.com/embed.js';
+ (document.getElementsByTagName('head')[0] || document.getElementsByTagName('body')[0]).appendChild(dsq);
+ })();
+</script>
+<noscript>Please enable JavaScript to view the <a href="http://disqus.com/?ref_noscript">comments powered by Disqus.</a></noscript>
+<a href="http://disqus.com" class="dsq-brlink">comments powered by <span class="logo-disqus">Disqus</span></a>
+</div>
+
+
+
+ <div id="footer">
+ <p>
+
+ The Codex —
+
+ Powered by <a href="http://markdoc.org/">Markdoc</a>.
+
+<a href="https://bitbucket.org/ojacobson/grimoire.ca/src/master/wiki/dev/commit-messages.md">See this page on Bitbucket</a> (<a href="https://bitbucket.org/ojacobson/grimoire.ca/history-node/master/wiki/dev/commit-messages.md">history</a>).
+
+ </p>
+ </div>
+
+</div>
+</body>
+</html> \ No newline at end of file