Create a ghc-simple-patch-propose list? Re: Notes from Ben's "contribute to ghc" discussion

Ben Gamari ben at smart-cactus.org
Wed Sep 28 16:06:32 UTC 2016


Simon Marlow <marlowsd at gmail.com> writes:

> Well, let's be careful here.  I like the idea, but it's not a complete
> solution for people who don't want to use arc, because you can't revise a
> patch after submission in response to reviews, you would have to open a new
> PR.
>
I have considered building something like this in the past since posting
series of patches via Arc is exceedingly painful. It's not entirely
clear what it would look like, but I was thinking the tool would,

 1. take a branch of commits, for instance,

      A -- B -- C -- D -- E -- F -- origin/master
      ^
      HEAD

 2. allow you to decide how to break it into Diffs. for instance,

      new diff 
      A
      B
      new diff
      C
      D
      E
      new diff
      F

    which would produce three diffs:
      * one containing commits A and B
      * one containing commits C, D, and E
      * another containing F

 3. run `arc diff` to upload each Diff to Phabricator, setting up the
    appropriate dependency structure between the created Diffs

 4. rewrite history of your branch to add an annotation to the commit
    messages saying which diff each belongs to

You are then free to continue modifying and even rebasing your branch
and later the tool can be used to update the diffs from the current
state of your branch. The tool could do this automatically,
reconstructing where each commit belongs from the annotations added
during upload.

That being said, I ultimately decided it would be easier to just
continue carrying out this workflow by hand considering I don't post
large series of patches *that* often. I'm also a bit more eager to
squash now than I used to be, in part due to the pain of submitting
fine-grained patch sets. On the whole I do wish that Phabricator were
more Git-like.

Cheers,

- Ben

-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 472 bytes
Desc: not available
URL: <http://mail.haskell.org/pipermail/ghc-devs/attachments/20160928/4cec4f6f/attachment.sig>


More information about the ghc-devs mailing list