К сожалению, я не могу точно объяснить, что произошло. Результат следующий: в моем репозитории у меня есть файл foo.bar для которого правильной версией является HEAD-1 . Как я могу создать новую ревизию, чтобы единственная разница между HEAD и HEAD+1 заключалась в том, что foo.bar в HEAD+1 - это тот, что в HEAD-1 . Все остальные элементы хранилища должны быть идентичны в HEAD+1 элементам из HEAD .

Вызывая

svn update -rHEAD-1 foo.bar

Я получаю рабочую копию, которую я хочу стать HEAD+1 . Однако svn status ничего не показывает.

Я надеюсь, что мой вопрос имеет смысл ...

1 ответ1

1

Из того, что я понимаю, хотя остальные изменения в вашей ревизии HEAD в порядке, вы допустили ошибку в foo.bar, и вы хотите получить ее для следующей ревизии. Вот как:

Сделайте снимок вашего foo.bar из предыдущей ревизии, используя указанную вами команду

svn update -r HEAD-1 foo.bar

Затем сделайте копию этого файла и сохраните его как foo.correct.bar

cp foo.bar foo.correct.bar

Восстановите файл до текущей версии

svn update -r HEAD foo.bar

Затем скопируйте сохраненный (и правильную версию) foo.bar чтобы перезаписать текущую испорченную версию

mv foo.correct.bar foo.bar

Зафиксируйте его как ревизию HEAD+1

svn commit foo.bar -m "Restoring foo.bar from older revision HEAD-1"

Надеюсь, что это помогает, Судипта

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .