On Thu, Jun 13, 2019 at 09:05:16AM -0700, Junio C Hamano wrote: > aleksandrs@xxxxxxxxxxxx writes: > > > My repo indeed contains a ".git/sequencer/todo" file which > > contains references to commits long-gone (i.e., rebased). > > Renaming or deleting this file stops whines about "error: could > > not parse". > > Interesting. So in short, when the repository has leftover > sequencer state file that is not in use, "git status parse" thing > (whatever it is---are you getting it when you run "git status" > command???)---is not careful enough to notice that it does not > matter even if that leftover file is unusable. > > Two issues "the sequencer" folks may want to address are > > (1) make the one that reads an irrelevant/stale 'todo' file more > careful to ignore errors in such a file; > > (2) make the sequencer machinery more careful to clean up after it > is done or it is aborted It may or may not be related, but... Some weeks (months?) ago I run into a situation where 'git rebase' didn't clean up after itself following a well-timed ctrl-C, and got confused to the point that not even a subsequent 'git rebase --abort' was able to rectify the situation. So, I wanted to rebase just a couple of commits to somewhere else, but messed up the command's parameters, and it then tried to rebase a couple hundred commits. Upon noticing the unexpectedly large numbers in the "Generating patches" progress line I hit ctrl-C, and then the aborting 'git rebase' apparently left an incomplete/corrupted '.git/rebase-apply/' directory behind. Unfortunately I didn't think about saving the precious corrupted state, and deleted that dir right away... only saved the transcript from the terminal later: ~/src/git (test-atexit)$ git rebase js/test-atexit First, rewinding head to replay your work on top of it... Generating patches: 100% (509/509), done. ^C ~/src/git ((42e6cb0046...)|REBASE 1/509)$ gitk js/test-atexit ~/src/git ((42e6cb0046...)|REBASE 1/509)$ git rebase --abort error: could not read '.git/rebase-apply/head-name': No such file or directory ~/src/git ((42e6cb0046...)|REBASE 1/509)$ git reset --hard HEAD is now at 42e6cb0046 git-p4: use `test_atexit` to kill the daemon ~/src/git ((42e6cb0046...)|REBASE 1/509)$ rm -rf .git/re rebase-apply/ rebased-patches refs/ ~/src/git ((42e6cb0046...)|REBASE 1/509)$ rm -rf .git/rebase-apply/ ~/src/git ((42e6cb0046...))$ git checkout -