Для git, я думаю, это довольно просто, потому что вы можете редактировать всю историю (в репозиториях у вас тоже есть права на запись, то есть, клоны, конечно, останутся такими, как есть, до тех пор, пока они не будут обновлены и не собраны мусором). ). Смотрите здесь:
http://help.github.com/remove-sensitive-data/
Полагаю, для CVS вы даже можете работать непосредственно с файлами RCS, но я не очень разбираюсь в CVS.
Дополнение: поскольку речь идет не об удалении некоторых файлов, а об изменении некоторых файлов "до того, как они когда-либо были завершены", возможно, уже достаточно сделать git rebase -i
и отредактировать те коммиты, которые представили PII. Возможно, вам нужно будет исправить некоторые конфликты в коммитах, которые позже удалили PII, но я думаю, это нормально. Преимущество состоит в том, что вам нужно исправить только те коммиты, которые фактически ввели / изменили PII.