git: Как автоматизировать интерактивную перебазировку / заменить ее эквивалентными командами git

Мне нужно автоматизировать интерактивный ребаз или заменить его другими командами. Просто позвольте мне объяснить мою текущую ситуацию:

В переходе svn-> git мне нужно перебазировать недавно созданный git-репозиторий, чтобы исправить «обрезания истории», сделанные во время SVN. Вот мой ручной рабочий процесс, чтобы решить проблему.

branchNEW: containing history from SOMEDAY until now
branchOLD: containing history from past to SOMEDAY

РЕДАКТИРОВАТЬ или как ascii:

branchNEW:        Y - Z
branchOLD: W - X

Обе ветви не имеют общих коммитов.

Основная идея теперь состоит в том, чтобы просто перебазировать branchNEW на branchOLD. К сожалению, произошел некоторый рефакторинг SOMEDAY: некоторые файлы были перемещены в другой каталог. Результатом перебазирования является то, что каждый перемещенный файл существует в обоих местах.

РЕДАКТИРОВАТЬ

some file exist in X 
the (nearly) same files also exist in Y, just on another path

branchNEW: W - X - Y - Z
(after rebase)

После перебазировки HEAD теперь содержит файлы X и Y. Я также попытался добавить новый коммит в branchOLD, который удаляет старые файлы. После перебазирования SVN-HEAD и git-HEAD двоично идентичны, но «git log --follow» не работает.

Теперь к основной проблеме: я могу это исправить, используя второй интерактивный ребаз:

git rebase -i SHA

SHA - это Sha-IDстарый Корневая фиксация в ветке NEW. Теперь в редакторе мне нужно изменить «выбрать» на «редактировать» для самого верхнего коммита. После выхода из редактора мне теперь нужно удалить не те файлы

git rm -f fileA fileB
git commit --amend
git rebase --continue

После этого HEAD git является двоичным идентичным заголовку SVN, и, кроме того, git имеет полную историю, а также "git log --follow" работает для перемещенных файлов.

Поскольку этот шаг - лишь малая часть огромного перехода VCS в будущем, мне нужно написать сценарий всего процесса.Но как автоматизировать вышеуказанные шаги?

(я знаю, что SHA не останется прежним, но я могу получить требуемый SHA из svn-id, который встроен в каждое сообщение о коммите)