Page MenuHomePhabricator

When landing changes in an empty repository, merge cleanly in Git
ClosedPublic

Authored by epriestley on Jun 7 2020, 3:29 PM.
Tags
None
Referenced Files
F13470625: D21324.diff
Wed, Jul 17, 6:52 AM
F13446492: D21324.diff
Sat, Jul 13, 2:01 AM
F13435345: D21324.diff
Thu, Jul 11, 4:02 AM
F13417412: D21324.diff
Sun, Jul 7, 11:17 PM
F13415162: D21324.id50754.diff
Sun, Jul 7, 6:25 PM
F13405840: D21324.diff
Fri, Jul 5, 4:22 PM
F13400018: D21324.diff
Thu, Jul 4, 10:48 AM
F13378152: D21324.diff
Sat, Jun 29, 4:34 AM
Subscribers
None

Details

Summary

Fixes T12876. Ref T13546. When you make the first change in a new Git repository, "arc land" currently can not merge it because there's nothing to merge into.

Support merging into the empty state formally, reachable by using "--into-empty" (which should be uncommon) or "arc land" in an empty repository.

Test Plan
  • Used "arc land --into-empty --hold ..." to generate merges against the empty state under "squash" and "merge" strategies in Git.
    • Got sensible result commits with appropriate parents and content.

Diff Detail

Repository
rARC Arcanist
Branch
land17
Lint
Lint Passed
SeverityLocationCodeMessage
Advicesrc/land/engine/ArcanistGitLandEngine.php:745XHP16TODO Comment
Advicesrc/land/engine/ArcanistGitLandEngine.php:747XHP16TODO Comment
Advicesrc/land/engine/ArcanistLandEngine.php:1278XHP16TODO Comment
Unit
Tests Passed
Build Status
Buildable 24576
Build 33878: Run Core Tests

Event Timeline

This revision was not accepted when it landed; it landed in state Needs Review.Jun 8 2020, 11:20 PM
This revision was automatically updated to reflect the committed changes.