HomePhabricator

Minimize reliance on 'git branch' output format

Description

Minimize reliance on 'git branch' output format

Summary:
Ref T5554. Both the current branch name (if on a branch), as well as the
list of all local branches, can be retrieved without having to parse the
output from "git branch".

Unfortunately, there seems to be no git plumbing for "get list of
branches containing this commit" yet.
(see http://marc.info/?l=git&m=141408477614635&w=2)

For that case, this commit whitelists the output from "git branch" using
the known valid branch names from "git for-each-ref".

Test Plan:
Set up a test repo with this structure:

|   *  Commit B1, on branch "subfeature"
|  /
| *    Commit A1, on branch "feature"
|/
*      Commit M1, on branch "master"
|

In subfeature, I tried:

  • arc which --base 'git:branch-unique(master)'
  • arc feature

After that, I detached my HEAD (don't worry, I got better) and tried again.

Nothing looked broken.

(Tested with git 1.7.2.5 and 2.5.0.)

Reviewers: Blessed Reviewers, epriestley

Reviewed By: Blessed Reviewers, epriestley

Subscribers: Korvin

Maniphest Tasks: T5554

Differential Revision: https://secure.phabricator.com/D13989

Details

Provenance
jbetaAuthored on
epriestleyCommitted on Aug 25 2015, 12:57 AM
epriestleyPushed on Aug 25 2015, 12:58 AM
Reviewer
Blessed Reviewers
Differential Revision
D13989: Minimize reliance on 'git branch' output format
Parents
rARC6ecb3fb87d2b: Avoid parsing git "remote show" using "ls-remote"
Branches
Unknown
Tags
Unknown
Tasks
T5554: arc fails with svn/git/hg non english locales