Deletion Is a Claim, Not a Command: Can “Deleted” Ever Be a Promise?

After finishing a long investigation into Git deletion, I thought the difficult part was over. The repository had been the experiment; the broader lesson seemed to be that deletion has several observable states. Then a more uncomfortable question appeared. If a system says that something is deleted, what exactly is it claiming, who defines the scope of that claim, and who gets to decide when the process is truly finished?

I documented the original technical investigation in Deleting in Git…
Continue reading

Deleting in Git and Rethinking (Philosophically) Deletion as a System Design Question

Yesterday I removed a file that no longer belonged in one of my Git repositories. It had already been committed and pushed several times, so rather than simply deleting the current copy, I decided to clean up the corresponding history as well.

What looked like a straightforward maintenance task became more complicated once I started verifying the result. The file disappeared from the current branch, then from reachable history, but some of the old commit IDs could still be resolved…
Continue reading