Re: [OpenSmalltalk/opensmalltalk-vm] FileAttributesPlugin: Add session Id (f6445ab)

Previous Topic Next Topic
 
classic Classic list List threaded Threaded
5 messages Options
Reply | Threaded
Open this post in threaded view
|

Re: [OpenSmalltalk/opensmalltalk-vm] FileAttributesPlugin: Add session Id (f6445ab)

David T Lewis
 
Hi Ben,

On Mon, 17 Dec 2018 at 15:55, Ben Coman <[hidden email]> wrote:
>
> To provide cleaner PRs, I tend to "git commit --amend" to my-branch that I
> issued a PR from and force push that to my github account.
> In spite of the general advice not to force push public branches, in
> reality it seems people rarely branch except from the canonical account.
> Actually this could be covered by a convention like...
> "if you branch from someone's personal account, immediately push it to
> your account so it shows up in the network view."
> Forcing pushing only a problem if someone has branched from it the network
> view could be checked before forcing pushing.

Just as an alternative:

Instead of amending the commits, sometimes I double branch and squash
the merges back, e.g. (from memory):

$ git checkout Cog
$ git checkout -b IssueBranch
$ git checkout -b IssueBranchDev

Lots of little commits, backtracks, etc. while solving the problem.

$ git checkout IssueBranch
$ git merge --squash IssueBranchDev
$ git push

and then create the PR.

The advantage is that I still have the messy history available in
IssueBranchDev while I'm doing the development.

Cheers,
Alistair


You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub, or mute the thread.

<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":"@akgrant on f6445ab: Hi Ben,\n\nOn Mon, 17 Dec 2018 at 15:55, Ben Coman \u003cnotifications@github.com\u003e wrote:\n\u003e\n\u003e To provide cleaner PRs, I tend to \"git commit --amend\" to my-branch that I\n\u003e issued a PR from and force push that to my github account.\n\u003e In spite of the general advice not to force push public branches, in\n\u003e reality it seems people rarely branch except from the canonical account.\n\u003e Actually this could be covered by a convention like...\n\u003e \"if you branch from someone's personal account, immediately push it to\n\u003e your account so it shows up in the network view.\"\n\u003e Forcing pushing only a problem if someone has branched from it the network\n\u003e view could be checked before forcing pushing.\n\nJust as an alternative:\n\nInstead of amending the commits, sometimes I double branch and squash\nthe merges back, e.g. (from memory):\n\n$ git checkout Cog\n$ git checkout -b IssueBranch\n$ git checkout -b IssueBranchDev\n\nLots of little commits, backtracks, etc. while solving the problem.\n\n$ git checkout IssueBranch\n$ git merge --squash IssueBranchDev\n$ git push\n\nand then create the PR.\n\nThe advantage is that I still have the messy history available in\nIssueBranchDev while I'm doing the development.\n\nCheers,\nAlistair\n"}],"action":{"name":"View Commit","url":"https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/f6445ab9ea75f685e4e53bff8917449646c3754b#commitcomment-31789305"}}}</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-31789305", "url": "https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/f6445ab9ea75f685e4e53bff8917449646c3754b#commitcomment-31789305", "name": "View Commit" }, "description": "View this Commit on GitHub", "publisher": { "@type": "Organization", "name": "GitHub", "url": "https://github.com" } } ]</script>
Reply | Threaded
Open this post in threaded view
|

Re: [OpenSmalltalk/opensmalltalk-vm] FileAttributesPlugin: Add session Id (f6445ab)

Nicolas Cellier
 
Note that I like to see the "messy" decomposed history where each change has a rationale attached in a separate commit message.
Of course, erratic trial and errors may benefit from a little rewrite of history, but not a squash, it's too violent for my taste, more something like a rebase -i.

When perigrinations are too much random, I prefer a fulll rewrite on a brand new branch with cherry-picking.


Le jeu. 27 déc. 2018 à 16:09, akgrant <[hidden email]> a écrit :
 Hi Ben,

On Mon, 17 Dec 2018 at 15:55, Ben Coman <[hidden email]> wrote:
>
> To provide cleaner PRs, I tend to "git commit --amend" to my-branch that I
> issued a PR from and force push that to my github account.
> In spite of the general advice not to force push public branches, in
> reality it seems people rarely branch except from the canonical account.
> Actually this could be covered by a convention like...
> "if you branch from someone's personal account, immediately push it to
> your account so it shows up in the network view."
> Forcing pushing only a problem if someone has branched from it the network
> view could be checked before forcing pushing.

Just as an alternative:

Instead of amending the commits, sometimes I double branch and squash
the merges back, e.g. (from memory):

$ git checkout Cog
$ git checkout -b IssueBranch
$ git checkout -b IssueBranchDev

Lots of little commits, backtracks, etc. while solving the problem.

$ git checkout IssueBranch
$ git merge --squash IssueBranchDev
$ git push

and then create the PR.

The advantage is that I still have the messy history available in
IssueBranchDev while I'm doing the development.

Cheers,
Alistair


You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub, or mute the thread.

Reply | Threaded
Open this post in threaded view
|

Re: [OpenSmalltalk/opensmalltalk-vm] FileAttributesPlugin: Add session Id (f6445ab)

David T Lewis
In reply to this post by David T Lewis
 

Note that I like to see the "messy" decomposed history where each change
has a rationale attached in a separate commit message.
Of course, erratic trial and errors may benefit from a little rewrite of
history, but not a squash, it's too violent for my taste, more something
like a rebase -i.

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.

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.


You are receiving this because you commented.
Reply to this email directly, view it on GitHub, or mute the thread.

<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>
Reply | Threaded
Open this post in threaded view
|

Re: [OpenSmalltalk/opensmalltalk-vm] FileAttributesPlugin: Add session Id (f6445ab)

David T Lewis
In reply to this post by David T Lewis
 
Nicolas, Alistair,

this is a useful conversation. Consider adding it to CONTRIBUTING.md

_,,,^..^,,,_ (phone)

> On Dec 27, 2018, at 10:13 AM, akgrant43 <[hidden email]> wrote:
>
> Note that I like to see the "messy" decomposed history where each change
> has a rationale attached in a separate commit message.
> Of course, erratic trial and errors may benefit from a little rewrite of
> history, but not a squash, it's too violent for my taste, more something
> like a rebase -i.
>
> 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.
>
> 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.
>
> —
> You are receiving this because you commented.
> Reply to this email directly, view it on GitHub, or mute the thread.


You are receiving this because you commented.
Reply to this email directly, view it on GitHub, or mute the thread.

<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":"@eliotmiranda on f6445ab: Nicolas, Alistair,\n\n this is a useful conversation. Consider adding it to CONTRIBUTING.md\n\n_,,,^..^,,,_ (phone)\n\n\u003e On Dec 27, 2018, at 10:13 AM, akgrant43 \u003cnotifications@github.com\u003e wrote:\n\u003e \n\u003e Note that I like to see the \"messy\" decomposed history where each change\n\u003e has a rationale attached in a separate commit message.\n\u003e Of course, erratic trial and errors may benefit from a little rewrite of\n\u003e history, but not a squash, it's too violent for my taste, more something\n\u003e like a rebase -i.\n\u003e \n\u003e 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.\n\u003e \n\u003e 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.\n\u003e \n\u003e —\n\u003e You are receiving this because you commented.\n\u003e Reply to this email directly, view it on GitHub, or mute the thread.\n"}],"action":{"name":"View Commit","url":"https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/f6445ab9ea75f685e4e53bff8917449646c3754b#commitcomment-31791286"}}}</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-31791286", "url": "https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/f6445ab9ea75f685e4e53bff8917449646c3754b#commitcomment-31791286", "name": "View Commit" }, "description": "View this Commit on GitHub", "publisher": { "@type": "Organization", "name": "GitHub", "url": "https://github.com" } } ]</script>
Reply | Threaded
Open this post in threaded view
|

Re: [OpenSmalltalk/opensmalltalk-vm] FileAttributesPlugin: Add session Id (f6445ab)

Ben Coman
In reply to this post by David T Lewis
 


On Fri, 28 Dec 2018 at 02:13, akgrant43 <[hidden email]> wrote:
 

Note that I like to see the "messy" decomposed history where each change
has a rationale attached in a separate commit message.
Of course, erratic trial and errors may benefit from a little rewrite of
history, but not a squash, it's too violent for my taste, more something
like a rebase -i.

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.

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.

I'm in full agreement.  Never a full squash, but trying to minimize the noise of "whoops" commits,
or like for the Freetype-2.9.1 windows build I'm working on, experimenting to understand differences between local and CI environment.

I support using `rebase -i`, but it can take a little practice, and there seems some fear floating around of losing code.
`git commit --amend` is a milder form that is only able to affect the previous commit.

cheers -ben