facebook / sapling

A Scalable, User-Friendly Source Control System.

Home Page:https://sapling-scm.com

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

"abort: internal storage is corrupted; conflicted changes: visibleheads" after rebase

alex-statsig opened this issue · comments

Fairly often lately upon rebasing a commit in a stack with ISL, I get the following error:

sl rebase -s aa7530c6161b -d remote/main
abort: internal storage is corrupted
  "/Users/alex/dev/statsig/.sl/store/metalog": conflicted changes:
  visibleheads

(this usually happens after hard reboot or system crash)
(try 'sl doctor' to attempt to fix it)
Commit Info
Command: sl rebase -s aa7530c6161b94ba5e9ac3161bc4d1f5a50a8a7b -d remote/main

Command output:
rebasing aa7530c6161b "Fix double label on Select"
aa7530c6161b -> fa6ecf32fba8 "Fix double label on Select"
abort: internal storage is corrupted
  "/Users/alex/dev/statsig/.sl/store/metalog": conflicted changes:
  visibleheads

(this usually happens after hard reboot or system crash)
(try 'sl doctor' to attempt to fix it)

The end state is that the commit is rebased, but the old commit is also left behind with a pending rebase in progress still. If I run sl rebase --abort then I'm in a good state, but with the commit located in both places. If I run sl rebase --continue, I end up with two instances of the commit at the destination.