Page MenuHomePhabricator

Remote target/landing branch in Diff details
Closed, ResolvedPublic

Description

When creating a new revision with e.g. arc diff it uses the user's local branch name in the diff details, but the remote branch where the change will land in is not shown.

E.g. consider following workflow:

  • local branch foo which tracks remote branch origin/foo
  • developer A creates a feature branch bar with e.g. git checkout -b bar
  • developer A changes stuff
  • git commit -a
  • arc diff foo
  • this will create a new revision with Branch saying "foo" on differential

Now developer B wants to review, but is totally confused because there is no way to know whether the change is intended to land in origin/master or origin/foo. Also the CI system which automatically should compile each change prior to landing doesn't know on which branch to apply the patch on.

Event Timeline

eadler added a project: Restricted Project.Sep 15 2016, 6:12 PM
epriestley claimed this task.

My expectation is that the workflow in the task description will generally show this:

Branch: bar (branched from foo)

Here's an example:

epriestley@orbital ~/dev/scratch/lock-ssh $ git checkout -t origin/no-timestamp -b local-timestamp
Branch local-timestamp set up to track remote branch no-timestamp from origin.
Switched to a new branch 'local-timestamp'
epriestley@orbital ~/dev/scratch/lock-ssh $

Here's what it looks like in the UI:

Screen Shot 2017-04-21 at 4.37.50 AM.png (380×1 px, 58 KB)

Note that you must use --track (or its short form -t, or configure branch.autoSetupMerge to auto-track) for this to work. But the description implies these flags were used ("...which tracks remote branch...").

I suspect we can improve behavior here, but I'm not exactly sure what the current issue is, since it looks like we already have the behavior this issue requests.

I'm going to close this; if you want different behavior, feel free to file a new issue which clearly outlines how to reproduce whatever issue you're hitting.