есть приватная репа в меркуриале (в том смысле что никто снаружи не клонировал, а если клонировал — то пофиг на это), внутри в основном скрипты и данные для них
требуется ее облагородить, что распадается на ряд задач, которые я тут опишу весьма несистематично — сюда можно накидать еще полезных задач, либо ввести систему
работа разовая (то есть не требуется регулярно (и значит полуавтоматически) ее производить в результате каких-то будущих изменений в репе, с которой моя репа была склонирована, но возможность делать эту работу полуавтоматически — полезный бонус)
итак, задачи:
1. затирание паролей (я понимаю это как задачи 2,3,4)
2. вообще замены по регекспу в файле и всех его потомках
3. правка описания коммита
4. удаление коммита (где фактически был затерт пароль — в будущем этот коммит не нужен)
5. добавление коммита, где файл перенесен в другую директорию, и изменение всех последующих коммитов под это
6. разбиение 1 коммита на 2 коммита произвольным образом (это видимо сводится к задачам 7,8,9)
7. разбиение коммита на несколько коммитов, каждый из которых затрагивает только 1 файл
8. разбиение коммита на несколько коммитов, каждый из которых затрагивает только 1 строчку (ну или около того)
9. слияние нескольких коммитов в 1 коммит
тут можно было бы придумать задачи
10. раскидывание репы в набор директорий с номерами коммитов, описаниями и графом зависимостей
11. обратная сборка репы из директорий
чтобы все задачи 1...9 делать над файловой системой, но это видимо неверный подход?
теперь попробую провести систематичность:
А. есть операции, которые не меняют графа коммитов, а меняют только содержимое файлов, директорий, или описания коммита
В. есть операции, которые меняют граф коммитов, и не меняют содержимое файлов/директорий/описаний там, где граф коммитов неизменен
для А полезны командно-строчные тулзы (может даже в меркуриале есть такие команды, я просто их не знаю), хотя полезна была бы графическая тулза, позволяющая выбрать список коммитов (чтобы потом скормить его командно-строчным тулзам)
для В желательны графические (мышекликательные) тулзы, хотя можно и командно-строчные
дополнительный бонус — возможность этими тулзами работать и с гит-ом
в целом, желательно такое же удобство работы с этим хозяйством, как с файловой системой (хотя у нас тут граф, и все сложнее)
ну и сам вопрос: правильный список задач и тулзы для работы со всем этим; ссылки на конкретные главы книг/документации/вопросы so приветствуются
UPDATE: если какая-то тулза делает не все задачи, а только часть, то ее вполне можно предложить