Page MenuHomePhabricator

When running "arc land" from a detached HEAD, don't try to delete the source ref
ClosedPublic

Authored by epriestley on Sep 5 2019, 12:25 PM.
Tags
None
Referenced Files
F19107514: D20786.diff
Mon, Dec 8, 4:50 AM
F19070421: D20786.id.diff
Sun, Nov 30, 4:51 PM
F19059212: D20786.diff
Nov 29 2025, 4:50 AM
F18835567: D20786.id.diff
Oct 26 2025, 4:55 PM
F18830193: D20786.diff
Oct 25 2025, 4:54 AM
F18818568: D20786.diff
Oct 22 2025, 1:06 AM
F18799437: D20786.id49562.diff
Oct 17 2025, 2:29 PM
F18771321: D20786.diff
Oct 8 2025, 7:06 PM
Subscribers
None
Tokens
"Party Time" token, awarded by leoluk.

Details

Summary

Fixes T10321. Some reasonable but less-common workflows involve running arc land from a detached HEAD state.

When users do this, we currently try to delete the raw hash as though it were a branch during cleanup. Instead, detect if the thing we're thinking about deleting is a branch or not, and just leave it alone if it isn't.

Test Plan
  • Ran git checkout <some hash>, then arc land --revision <some revision>.
  • Before, everything worked but cleanup tried to git branch -D <some hash>.
  • After, everything worked and cleanup skipped branch deletion.

Diff Detail

Repository
rARC Arcanist
Branch
dhead1
Lint
Lint Passed
Unit
Tests Passed
Build Status
Buildable 23388
Build 32129: Run Core Tests
Build 32128: arc lint + arc unit