Page MenuHomePhabricator

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

Authored by epriestley on Jan 20 2021, 7:44 PM.
Tags
None
Referenced Files
F14800203: D21511.diff
Sat, Jan 25, 7:57 AM
Unknown Object (File)
Thu, Jan 23, 9:34 PM
Unknown Object (File)
Thu, Jan 23, 9:34 PM
Unknown Object (File)
Thu, Jan 23, 9:34 PM
Unknown Object (File)
Thu, Jan 23, 9:34 PM
Unknown Object (File)
Wed, Jan 22, 6:23 PM
Unknown Object (File)
Wed, Jan 22, 12:10 PM
Unknown Object (File)
Tue, Jan 21, 12:33 PM
Subscribers
None

Details

Summary

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

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

Thus:

  • 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

Repository
rP Phabricator
Branch
git2
Lint
Lint Passed
Unit
Tests Passed
Build Status
Buildable 25014
Build 34512: Run Core Tests
Build 34511: arc lint + arc unit

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.