<blockquote>
<p>Note that I like to see the "messy" decomposed history where each change<br>
has a rationale attached in a separate commit message.<br>
Of course, erratic trial and errors may benefit from a little rewrite of<br>
history, but not a squash, it's too violent for my taste, more something<br>
like a rebase -i.</p>
</blockquote>
<p>I think maybe we're saying the same thing.  Each commit in the main branch (Cog) should be single purpose and well documented, e.g. includes the rationale, which allows the reader to see the progression and consume the changes in small, understandable steps.  I'm just suggesting one way to achieve that.</p>
<p>Leaving a messy (i.e. something that includes a mistake) decomposed history can just lead to confusion, e.g. I recently didn't squash down one of my PR's.  Because it had every intermediate commit one reviewer thought I had committed a plugin built from dirty code, when in fact a later commit in the PR used clean code.</p>

<p style="font-size:small;-webkit-text-size-adjust:none;color:#666;">—<br />You are receiving this because you commented.<br />Reply to this email directly, <a href="https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/f6445ab9ea75f685e4e53bff8917449646c3754b#commitcomment-31790794">view it on GitHub</a>, or <a href="https://github.com/notifications/unsubscribe-auth/AhLyW2CdlqY-Z2RT6y-Fj7UoNBm9ccCMks5u9Q3TgaJpZM4ZVgm6">mute the thread</a>.<img src="https://github.com/notifications/beacon/AhLyWysne1ljS7kLvgROX_LSD9VHE5kAks5u9Q3TgaJpZM4ZVgm6.gif" height="1" width="1" alt="" /></p>
<script type="application/json" data-scope="inboxmarkup">{"api_version":"1.0","publisher":{"api_key":"05dde50f1d1a384dd78767c55493e4bb","name":"GitHub"},"entity":{"external_key":"github/OpenSmalltalk/opensmalltalk-vm","title":"OpenSmalltalk/opensmalltalk-vm","subtitle":"GitHub repository","main_image_url":"https://github.githubassets.com/images/email/message_cards/header.png","avatar_image_url":"https://github.githubassets.com/images/email/message_cards/avatar.png","action":{"name":"Open in GitHub","url":"https://github.com/OpenSmalltalk/opensmalltalk-vm"}},"updates":{"snippets":[{"icon":"PERSON","message":"@akgrant43 on f6445ab: \u003e Note that I like to see the \"messy\" decomposed history where each change\r\nhas a rationale attached in a separate commit message.\r\nOf course, erratic trial and errors may benefit from a little rewrite of\r\nhistory, but not a squash, it's too violent for my taste, more something\r\nlike a rebase -i.\r\n\r\nI think maybe we're saying the same thing.  Each commit in the main branch (Cog) should be single purpose and well documented, e.g. includes the rationale, which allows the reader to see the progression and consume the changes in small, understandable steps.  I'm just suggesting one way to achieve that.    \r\n\r\nLeaving a messy (i.e. something that includes a mistake) decomposed history can just lead to confusion, e.g. I recently didn't squash down one of my PR's.  Because it had every intermediate commit one reviewer thought I had committed a plugin built from dirty code, when in fact a later commit in the PR used clean code."}],"action":{"name":"View Commit","url":"https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/f6445ab9ea75f685e4e53bff8917449646c3754b#commitcomment-31790794"}}}</script>
<script type="application/ld+json">[
{
"@context": "http://schema.org",
"@type": "EmailMessage",
"potentialAction": {
"@type": "ViewAction",
"target": "https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/f6445ab9ea75f685e4e53bff8917449646c3754b#commitcomment-31790794",
"url": "https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/f6445ab9ea75f685e4e53bff8917449646c3754b#commitcomment-31790794",
"name": "View Commit"
},
"description": "View this Commit on GitHub",
"publisher": {
"@type": "Organization",
"name": "GitHub",
"url": "https://github.com"
}
}
]</script>