In real life discussions with git-annex users at DebConf, the idea was proposed to have a way to drop the history of the git-annex branch, and replace it with a new branch with just the current state of the repository. 

The only thing that breaks when this is done, in theory, is `git annex log`, which can't show the location history 
of files.

The crucial thing is that this operation would only need to be done in one repository, and it would then record some information in its (new) git-annex branch, so when it was pushed to other repositories, git-annex there could notice that history had been dropped, and do the same. So, even if you have rarely used offline archive repositories, the history dropping would eventually reach them, without needing to remember to do it.

There was speculation that it would be enough to record eg, the SHA of the top commit on the old branch. That may not be good enough, because another remote may have not gotten that SHA into its branch yet, or may have commits on top of that SHA. 

Maybe instead we want to record the SHA of the *first* commit to the old git-annex branch. This way, we can tell if the branch that got deleted is the one we're currently using. And if it is, we create a new branch with the current state of *our* branch, and then union merge the other branch into it.

Hmm, another wrinkle is that, when this indication propigates from remote A to remote B, remote B may also have some git-annex branches available for remotes C and D, which have not transitioned, and E, which has transitioned already. It seems B should first union merge C and D into B, and then flatten B to B', and then union merge A and E into B'.

I think that'd work!

--[[Joey]]

Will also allow dropping dead remotes from history. Just remove all
references to them when rewriting the branch. May or may not be desirable;
I sometimes care about dead remotes that I hope to one day recuscitate.
(OTOH, I can always run git annex fsck in them to get their location
tracking back, if I do manage to get them back.)

--[[Joey]] 

See also : [[forum/safely_dropping_git-annex_history]]

> [[done]] --[[Joey]]
