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