`arc` changes my commit messages

Hi all, Is there a way to put `arc` into a read-only mode? Frequently while working on a patch, I make several commits, preferring to separate out testing commits from productive work commits and non-productive (whitespace, comments) commits. Sometimes each of these categories are themselves broken into several commits. These commits are *not* my internal workflow. They are intentionally curated by rebasing as I'm ready to publish the patch, as I think the patches are easy to read this way. (Tell me if I'm wrong, here!) I've resolved myself not to use `arc land`, but instead to apply the patch using git. Yet, when I call `arc diff`, even if I haven't amended my patch during the `arc diff`ing process, the commit message of the tip of my branch is changed, and without telling me. I recently pushed my (tiny, uninteresting) fix to #9692. Luckily, my last commit happened to be the meat, so the amended commit message is still wholly relevant. But, that won't always be the case, and I was surprised to see a Phab-ified commit message appear in the Trac ticket after pushing. I know I could use more git-ery to restore my old commit message. But is there a way to stop `arc` from doing the message change in the first place? Thanks! Richard

On Tue, 2014-10-21 at 09:34 -0400, Richard Eisenberg wrote:
Hi all,
Is there a way to put `arc` into a read-only mode?
Not sure it is relevant, please ignore me if it is not. Does "arc diff --preview" work for you? It will create a diff without creating revision and changing anything locally. Then you can attach the diff to an existent revision or create new one.
Frequently while working on a patch, I make several commits, preferring to separate out testing commits from productive work commits and non-productive (whitespace, comments) commits. Sometimes each of these categories are themselves broken into several commits. These commits are *not* my internal workflow. They are intentionally curated by rebasing as I'm ready to publish the patch, as I think the patches are easy to read this way. (Tell me if I'm wrong, here!) I've resolved myself not to use `arc land`, but instead to apply the patch using git.
Yet, when I call `arc diff`, even if I haven't amended my patch during the `arc diff`ing process, the commit message of the tip of my branch is changed, and without telling me. I recently pushed my (tiny, uninteresting) fix to #9692. Luckily, my last commit happened to be the meat, so the amended commit message is still wholly relevant. But, that won't always be the case, and I was surprised to see a Phab-ified commit message appear in the Trac ticket after pushing.
I know I could use more git-ery to restore my old commit message. But is there a way to stop `arc` from doing the message change in the first place?
Thanks! Richard _______________________________________________ ghc-devs mailing list ghc-devs@haskell.org http://www.haskell.org/mailman/listinfo/ghc-devs

This is probably the biggest shortcoming of Phab. If you don't want this
merging behavior you need to make a separate Phab review *per commit*.
When I use arc I usually use git to rewrite the message after the review to
something less messy.
On Tue, Oct 21, 2014 at 11:04 AM, Richard Eisenberg
Hi all,
Is there a way to put `arc` into a read-only mode?
Frequently while working on a patch, I make several commits, preferring to separate out testing commits from productive work commits and non-productive (whitespace, comments) commits. Sometimes each of these categories are themselves broken into several commits. These commits are *not* my internal workflow. They are intentionally curated by rebasing as I'm ready to publish the patch, as I think the patches are easy to read this way. (Tell me if I'm wrong, here!) I've resolved myself not to use `arc land`, but instead to apply the patch using git.
Yet, when I call `arc diff`, even if I haven't amended my patch during the `arc diff`ing process, the commit message of the tip of my branch is changed, and without telling me. I recently pushed my (tiny, uninteresting) fix to #9692. Luckily, my last commit happened to be the meat, so the amended commit message is still wholly relevant. But, that won't always be the case, and I was surprised to see a Phab-ified commit message appear in the Trac ticket after pushing.
I know I could use more git-ery to restore my old commit message. But is there a way to stop `arc` from doing the message change in the first place?
Thanks! Richard _______________________________________________ ghc-devs mailing list ghc-devs@haskell.org http://www.haskell.org/mailman/listinfo/ghc-devs

A diff per commit is not that bad, this is my usual workflow. Using 'git rebase -i' and 'edit' you can amend individual commits in a stack. The workflow is * git rebase -i <oldest commit in the stack> * 'edit' the commit you want to modify * modify away * arc diff * git commit --continue Landing is a bit more tricky though. 'arc patch D1234 && arc land' is probably the easiest way, because you can't do arc land during a git rebase. Cheers, Simon On 21/10/14 14:46, Johan Tibell wrote:
This is probably the biggest shortcoming of Phab. If you don't want this merging behavior you need to make a separate Phab review *per commit*.
When I use arc I usually use git to rewrite the message after the review to something less messy.
On Tue, Oct 21, 2014 at 11:04 AM, Richard Eisenberg
mailto:eir@cis.upenn.edu> wrote: Hi all,
Is there a way to put `arc` into a read-only mode?
Frequently while working on a patch, I make several commits, preferring to separate out testing commits from productive work commits and non-productive (whitespace, comments) commits. Sometimes each of these categories are themselves broken into several commits. These commits are *not* my internal workflow. They are intentionally curated by rebasing as I'm ready to publish the patch, as I think the patches are easy to read this way. (Tell me if I'm wrong, here!) I've resolved myself not to use `arc land`, but instead to apply the patch using git.
Yet, when I call `arc diff`, even if I haven't amended my patch during the `arc diff`ing process, the commit message of the tip of my branch is changed, and without telling me. I recently pushed my (tiny, uninteresting) fix to #9692. Luckily, my last commit happened to be the meat, so the amended commit message is still wholly relevant. But, that won't always be the case, and I was surprised to see a Phab-ified commit message appear in the Trac ticket after pushing.
I know I could use more git-ery to restore my old commit message. But is there a way to stop `arc` from doing the message change in the first place?
Thanks! Richard _______________________________________________ ghc-devs mailing list ghc-devs@haskell.org mailto:ghc-devs@haskell.org http://www.haskell.org/mailman/listinfo/ghc-devs
_______________________________________________ ghc-devs mailing list ghc-devs@haskell.org http://www.haskell.org/mailman/listinfo/ghc-devs

For a while, I tried working around this using a "branch summary patch", which is just an empty commit I kept on top of the patchset which then Phabricator would hit. It was really annoying and Git kept swallowing up. So I eventually gave up and just arc diff'd each patch in the set individually. Edward Excerpts from Richard Eisenberg's message of 2014-10-21 06:34:31 -0700:
Hi all,
Is there a way to put `arc` into a read-only mode?
Frequently while working on a patch, I make several commits, preferring to separate out testing commits from productive work commits and non-productive (whitespace, comments) commits. Sometimes each of these categories are themselves broken into several commits. These commits are *not* my internal workflow. They are intentionally curated by rebasing as I'm ready to publish the patch, as I think the patches are easy to read this way. (Tell me if I'm wrong, here!) I've resolved myself not to use `arc land`, but instead to apply the patch using git.
Yet, when I call `arc diff`, even if I haven't amended my patch during the `arc diff`ing process, the commit message of the tip of my branch is changed, and without telling me. I recently pushed my (tiny, uninteresting) fix to #9692. Luckily, my last commit happened to be the meat, so the amended commit message is still wholly relevant. But, that won't always be the case, and I was surprised to see a Phab-ified commit message appear in the Trac ticket after pushing.
I know I could use more git-ery to restore my old commit message. But is there a way to stop `arc` from doing the message change in the first place?
Thanks! Richard
participants (5)
-
Edward Z. Yang
-
Johan Tibell
-
Richard Eisenberg
-
Simon Marlow
-
Yuras Shumovich