После слияния svn перепуталась ли предыдущая ревизия

У меня есть вопросы о слиянии SVN относительно следующих ситуаций:

РЕПО / А это багажник. Он имеет два дочерних ответвления на ответвление / B и repo/C

  1. скажем, изначально репо / B имеет ревизию 10.
  2. repo/C объединить foo.c с repo/A, ревизия становится 11.
  3. Рабочая копия repo / B фиксирует bar.c в repo/B, ревизия становится 12. Обратите внимание, что в настоящее время repo / B не имеет foo.c. Давайте назовем это "ГОСУДАРСТВЕННЫМ".
  4. Теперь репо / B было объединено с репо / A и получило foo.c, ревизия становится 13 в репо / B.

Мои вопросы:

  1. Так что теперь, если я проверяю ревизию 12 из репозитория / B. Я также получу файл foo.c в моем рабочем каталоге, верно? Как мне (или я могу) проверить версию 12 с точно таким же содержанием, что и "NO-FOO-STATE"?

  2. Если я использую следующую команду sudo code:

SVN удалить репо / B

svn копия репо / B @ 12 репо / B

Я пытаюсь вернуться к ревизии 12, удалив repo / B и svn copy repo / B @ 12. Есть ли в новом возвращенном репо / B файл foo.c? Если да, то как я могу вернуться к "НЕТ ФУТБОЛЬНОМУ ГОСУДАРСТВУ".

Большое спасибо.

1 ответ

если я проверю ревизию 12 из репо /B. Я также получу файл foo.c в моем рабочем каталоге, верно?

Нет, вы не получите foo.c в R12 из репо /B, только в R13

Чтобы оформить любую ревизию дерева репо без заголовка, используйте формат PEG-ревизии:

svn co URL@REV

Другие вопросы по тегам