On Fri, Jun 08 2018, Jonathan Nieder wrote: > Separate from that legal context, though, I think it's an interesting > feature request. I don't think it goes far enough: I would like a way > to erase arbitrary information from the history in a repository. For > example, if I accidentally check in an encryption key in my repository > as content or a commit message, I would like a way to remove it, > assuming that others who fetch from the same repo are willing to > cooperate with me, of course (i.e. in place of the object, the server > would store a placeholder and an _advisory_ token allowing clients to > know (1) that this object was deleted, (2) what object to use instead, > and (3) an explanatory note about why the deletion occured; clients > could make whatever use of this information they choose). > > I've seen some discussion on this subject at > https://www.mercurial-scm.org/pipermail/mercurial/2008-March/017802.html > long ago and have some ideas of my own, but nothing concrete yet. > Anyway, I thought it might be useful to get people's minds working on > it. You may find it interesting to look at how git-annex-forget does this: https://git-annex.branchable.com/git-annex-forget/ & http://git-annex.branchable.com/devblog/day_-4__forgetting/