Phabricator guidance

Jan Stolarek jan.stolarek at p.lodz.pl
Tue Oct 7 12:05:53 UTC 2014


Ugh. Arc is not easy to use :-/ Indeed 3e17822 does not seem to be in the revision on phab, 
although it exists in my local tree. I just pushed a fixed to Phab. Simon, does `arc patch D202` 
work now?

Herbert, remember how I complained on IRC that `arc diff` does not automatically recognize that 
I'm updating a revision and I need to manually specify base commit? You told me that I need to 
add revision information to the commit message. I did that and `arc diff`indeed recognized the 
revision without me explicitly specifying the base commit. But now it turns out that it created 
an incomplete revision by pushing only the latest commit from my branch :-/

Janek

Dnia wtorek, 7 października 2014, Simon Peyton Jones napisał:
> Aha, that helps.  And looking further at
> https://phabricator.haskell.org/D202, I can see under "Revision update
> history" that there are four diffs all stashed in this on Phab ticket.
> (That contradicts my previous model which was one patch per Phab ticket;
> people have been complaining about that.)
>
> So my new questions are:
>
> * How can I apply "Diff 1" or "Diff 2"?  Using "arc patch" only applies
> "Diff 4"
>
> * How can I apply all of "Diff 1" ... "Diff 4" in one go?
>
> Simon
>
> |  -----Original Message-----
> |  From: Herbert Valerio Riedel [mailto:hvriedel at gmail.com]
> |  Sent: 07 October 2014 10:05
> |  To: Simon Peyton Jones
> |  Cc: ghc-devs at haskell.org
> |  Subject: Re: Phabricator guidance
> |
> |  On 2014-10-07 at 10:57:00 +0200, Simon Peyton Jones wrote:
> |  > I suppose I will have to look at this. But I have no clue how to do
> |
> |  so.
> |
> |  > D202 itself seems to be a very small patch (only ten lines or so),
> |
> |  so presumably it applies on top of some other patch?  But what?
> |
> |  > Someone said I could use
> |  > 	arc patch D202
> |  > to apply the patch in my own tree, which is crucial for reproducing
> |  > the error that Jan is stuck on.
> |  >
> |  > BUT the patch presumably applies to a
> |  > particular commit, NOT the head of my current tree.  But what is the
> |  > base commit to which it applies?  Does arc patch check out the base
> |  > commit before applying?
> |
> |  If you actually perform 'arc patch D202', this is the output you
> |  currently get:
> |
> |
> |  ,----
> |
> |  | Created and checked out branch arcpatch-D202.
> |  |
> |  |
> |  |     This diff is against commit
> |
> |  3e17822f5f4e4d2f582dc0a053f532125f9777c7, but
> |
> |  |     the commit is nowhere in the working copy. Try to apply it
> |
> |  against the
> |
> |  |     current working copy state?
> |
> |  (3549c952b535803270872adaf87262f2df0295a4)
> |
> |  |     [Y/n] n
> |
> |  `----
> |
> |  So yes, 'arc' tries apply the code-revision on top of the commit is
> |  was based on; and in this case, it is actually missing from ghc.git :-
> |  /
> |
> |  What's more, you can also declare that a code-revisions builds on top
> |  of another code-revision, in which case 'arc' will automatically try
> |  to
> |  (recursively) apply that other code-revision to your source-tree
> |  first, before applying the one you are actually requesting on top.
> |
> |
> |  I hope Austin or someone else may chime in to provide further
> |  assistance if this doesn't help...
>
> _______________________________________________
> ghc-devs mailing list
> ghc-devs at haskell.org
> http://www.haskell.org/mailman/listinfo/ghc-devs




More information about the ghc-devs mailing list