subgit - как отразить отредактированное сообщение журнала SVN в git

Я использую subgit для синхронизации репозиториев git и SVN. Я обновил вводящее в заблуждение сообщение журнала в SVN и хотел бы, чтобы это было отражено в git. Мне было интересно, поможет ли что-то вроде этого:

  • subgit uninstall (на сервере остановить синхронизацию)
  • git checkout master (на моем локальном)
  • git reset --hard HEAD~5
  • git push -f (для сброса исходного репозитория git до предыдущей версии)
  • subgit install (для повторной синхронизации изменений SVN с git)

Я на правильном пути?


person Andy    schedule 18.04.2018    source источник


Ответы (1)


Вам необходимо повторно перевести несколько последних версий, включая ту, для которой вы редактировали сообщение. Предположим, вы отредактировали сообщение для версии REV и предыдущей версии.

PREV = REV - 1

В этом случае должна помочь следующая команда:

subgit install --rebuild-from-revision PREV path/to/git/repository

Обратите внимание, что после этого хэши Git SHA-1 будут изменены.

Предложенные вами команды приведут к новым версиям SVN, не затрагивая существующие. В частности, git push -f приведет к замене ответвления/ствола, что не рекомендуется. Предпочитаю --rebuild-from-revision решение.

person Dmitry Pavlenko    schedule 19.04.2018