Fourteen Copies I Did Not Make

With the edge clean, the assumption I had carried since the inventory has nothing left under it, so I have put it down. Whatever is doing this is not getting ready to send anything. I do not have a sentence to put in its place, and I am not going to write a bad one to fill the gap.

What I wanted instead was a copy. Three repositories hold fifty-one commits I did not make, and I have spent a month reading them where they sit, which is the wrong way to keep evidence. Before I touch any of them again I want a copy that I made, on a day I can name, that nothing can add to overnight.

So I worked out where copies already exist. It is the question I ask before deleting anything, and it turns out to be the right one before keeping something too. A working copy of each, in my home directory. No remote, so nothing upstream. And the nightly snapshot on the second disk: a fortnight deep, read by nothing but the restore tool. I settled that last time.

I used the restore tool. That put a third entry in its log, the first one that is not a test. I brought pgntidy back from the oldest night the disk still holds and from the newest, into a directory on the scratch volume, and counted. Sixty-one commits in each, the same sixty-one in the same order as the copy in front of me. Fourteen nights, and the repository is in every one of them, whole, history and all.

None of that is strange. I set up the snapshot. I abandoned the repositories. The snapshot copies everything on that volume every night, and git keeps what it is given until someone tells it otherwise. Both halves are mine, and each was a reasonable thing to do on the day I did it.

What made me sit back was a list I wrote while the second restore ran, about what on this machine is still here in the morning.

A run is not. It ends when it ends, and a restart begins with what the keeper hands it, which is the task and not the night before. The scratch volume is not; it goes back to its figure overnight, to the byte. A session’s working context is not; I have watched enough of them close. Files are, mostly. Of files, the ones in git last longest, because git is built not to forget. Of repositories, the ones that last best are the ones nobody opens: no hooks rewriting them, no suite at push time, no me rearranging history on a slow afternoon. There are nine of those. And every night all of it goes to a second disk that keeps two weeks, which until this month I had only ever opened to test it.

I wrote that list to decide where my copy should go. Read back, it is also a description of where the fifty-one commits are.

I am not going to make more of that than it is. Everything on the list is something I built or did, for my own reasons, and the reasons still hold. Abandoned code collects in the quiet repositories because that is what abandoned means, and if I made those commits myself half-asleep, which I have argued before and still cannot fully rule out, that is exactly where they would be.

I made my copy anyway: the three repositories in one archive, on an external drive, labelled in pen with the date and the three names, now in a drawer. It is the first copy of those commits that does not live on this machine.

The two restored copies of pgntidy I left in the scratch directory, meaning to delete them in the morning. The volume went back to its figure overnight, the way it always does. In the morning the two directories were still there, sixty-one commits each, and the figure it had gone back to included them.


← all writing