Page MenuHomePhabricator

Make arc feature much more fancy and fun
Open, Needs TriagePublic

Assigned To
Authored By
yelirekim
Aug 23 2016, 5:52 PM
Tags
Referenced Files
F1777408: arc flow output.png
Aug 23 2016, 5:52 PM
Tokens
"Like" token, awarded by Pawka."Pirate Logo" token, awarded by yelirekim."Like" token, awarded by siepkes."Like" token, awarded by venky."Party Time" token, awarded by epriestley."Dat Boi" token, awarded by michaeljs1990.

Description

We have an internal workflow called arc flow that does exactly what arc feature does, plus a bunch more useful things, like:

arc flow output.png (872×2 px, 364 KB)

It shows us:

  • Yellow hashes for diffs which are different locally from the remote
  • Number of commits ahead and behind that something is from its parent branch
  • Actually render nested branches
  • Show abbreviated git status underneath everything

Nearly every dev in our building runs this command constantly.

Event Timeline

which devs don't? it's the designers, isn't it.

I'd call this thing arc status, because arc feature is "a wrapper on git branch", and flow makes me think of git-flow.

wait, by "remote" you're talking about remote branch or Revision?

Basically "is the diff people are reviewing identical to your local branch"

Revision.

👍 that's what I was hoping for :)

In T11518#191391, @chad wrote:

which devs don't? it's the designers, isn't it.

me code pretty one day

I'd call this thing arc status, because arc feature is "a wrapper on git branch", and flow makes me think of git-flow.

The line of thinking here was that arc feature with no flags already shows you status, it's just that that status could be much more useful. I'm not really too concerned about what this would end up being called though.

arc flow is poking fun at git flow because it is kindof a "workflow" just far less involved in complexity than git flow is, which was a concept people were talking about using right around the time I initially wrote this.

It relies on a server side API call so you'll have to actually extend your server install in order for it to work.

We can post the frankenstien of classes that underly this soon though, sure.

Maybe @jcox a good place to start would be creating two libphutil packages that can cleanly contain this? I'm not sure how deep into our homerolled infra this gets, at the very least we have classes for rendering trees / UTF16 character display, among other things to make this work.

I think this is all generally reasonable to bring upstream, at least in spirit, but I want to wait for planned arc changes (overviewed in T11429) to get a little further along and build it on top of that.

We should also be providing some of the data this needs access to to workflows in a better way ("which revision" in T11355, modern APIs in T10945).

eadler added a project: Restricted Project.Nov 23 2016, 12:56 PM