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
Unknown Object (File)
Thu, May 29, 3:32 PM
Unknown Object (File)
Tue, May 27, 7:27 PM
Unknown Object (File)
Mon, May 26, 7:54 PM
Unknown Object (File)
Fri, May 9, 9:41 AM
Unknown Object (File)
Tue, May 6, 7:31 AM
Unknown Object (File)
Apr 29 2025, 2:36 PM
Unknown Object (File)
Apr 28 2025, 6:58 PM
Unknown Object (File)
Apr 28 2025, 6:58 PM
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.