>> Hence you can go wild on your local branches (use what ever
>> development model suites your needs) and get one final squashed commit
>> with an extensive summary.
>>
> Sure, but this leads to generally unreviewable patches IMHO. In order to
> stay sane I generally split up my work into a set of standalone patches
> with git rebase and then create a Diff of each of these commits.
> Phabricator supports this by having a notion of dependencies between
> Diffs, but arcanist has no sensible scheme for taking a branch and
> conveniently producing a series of Diffs.
Yes, this has been a constant source of frustration for us as well. Dealing
with dependent diffs is just plain painful with arc :( What I usually end up
doing, and I assume that’s what you are describing is:
Turning
A -- B -- C -- D -- E -- F -- origin/master
^
HEAD
into:
branch B1: E -- F -- origin/master
/
branch B2: C -- D
/
branch B3: A -- B
and producing three diffs:
$ git checkout E
$ arc diff origin/master # producing D1
$ git checkout C
$ arc diff B1 # adding “depends on D1" into the summary field
$ git checkout A
$ git diff B2 # adding “depends on D2” into the summary field
and then rebase B2 and B3 when changes to D1 on B1 are necessary.
Running `arc patch` with dependent diffs often resulted in trouble;
this seems to be getting better with the staging areas though.
So clearly we can see there are drawbacks. All I wanted to say in
the previous email was essentially that from my experience frustration
with arc often came from trying to make arc be git.
Cheers,
Moritz