I have been looking for a "proper" way to completely erase a file from CVS history, but can't find it. I don't care if it still appears in the logs, or if particular checkouts with earlier revisions related to that file show up errors. All that matters is that all other files remain intact and future CVS operations are still fine.
I'm aware of the cvs remove command, but as documented, it still allows the file to be restored. I have access to the CVS server, could I just go into the Attic directory and remove the files from there, or would it cause problems?
There are two reasons I want to do this. One is that I want to get rid of a file with sensitive information, before it gets uploaded to GitHub, where a synchronized repository will be kept.
The other is that git cvsimport is failing with a "NOTICE: used alternate strip path" error for a file that is in the Attic, and I'm thinking that the easiest way to fix it, is to simply remove all the files in that directory.
It is completely safe to remove the file from Attic. This will not affect any of your other files, or tags or branches. It will mean that no versions of that file will be available anywyare so i.e. a previous version of the software needs that file to compile, then that previous version will not compile properly.
I would suspect your git cvsimport
issue is something different, but I don't know. I would not particularly removing all files in Attic. Although if you want to do this on a copy, just to be able to run git cvsimport
, then there's no harm trying that.