Page MenuHomePhabricator

Further correct and disambigutate ref selectors passed to Git on the CLI

Authored by epriestley on Jan 20 2021, 7:44 PM.
Referenced Files
Unknown Object (File)
Tue, Jan 24, 2:31 PM
Unknown Object (File)
Sun, Jan 22, 12:18 AM
Unknown Object (File)
Thu, Jan 19, 12:23 PM
Unknown Object (File)
Mon, Jan 9, 1:59 AM
Unknown Object (File)
Mon, Jan 9, 1:57 AM
Unknown Object (File)
Sun, Jan 8, 10:37 PM
Unknown Object (File)
Sun, Jan 8, 6:32 PM
Unknown Object (File)
Mon, Jan 2, 9:49 AM



Ref T13589. In D21510, not every ref selector got touched, and this isn't a valid construction in Git:

$ git ls-tree ... -- ''


  • Disambiguate more (all?) ref selectors.
  • Correct the construction of "git ls-tree" when there is no path.
  • Clean some stuff up: make the construction of some flags and arguments more explicit, get rid of a needless "%C", prefer "%Ls" over acrobatics, etc.
Test Plan

Browsed/updated a local Git repository. (This change is somewhat difficult to test exhaustively, as evidenced by the "ls-tree" issue in D21510.)

Diff Detail

rP Phabricator
Lint Not Applicable
Tests Not Applicable

Event Timeline

Harbormaster completed remote builds in B25013: Diff 51200.
  • Test for "svn" before running an SVN test to fix the local test failure, since this new machine doesn't have "svn" installed yet.
This revision was not accepted when it landed; it landed in state Needs Review.Jan 20 2021, 8:07 PM
This revision was automatically updated to reflect the committed changes.