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

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

repo/A — это ствол. Он имеет два вызова дочерней ветки repo/B и repo/C.

  1. скажем, изначально repo/B имеет ревизию 10.
  2. repo/C объединяет foo.c с repo/A, ревизия становится 11.
  3. рабочая копия repo/B фиксирует bar.c в repo/B, ревизия становится 12. Обратите внимание, что в настоящее время repo/B не содержит foo.c. Давайте назовем это "NO-FOO-STATE".
  4. Теперь repo/B объединился с repo/A и получил foo.c, ревизия становится 13 в repo/B.

Мои вопросы:

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

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

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

svn копировать репо/B@12 репо/B

Я пытаюсь вернуться к версии 12, удалив repo/B и svn copy repo/B@12. В новом восстановленном репо/B все еще есть foo.c? Если да, как я могу вернуться к «NO-FOO-STATE».

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


person Linghua Jin    schedule 17.05.2013    source источник


Ответы (1)


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

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

Чтобы проверить любую версию дерева репозитория, отличную от HEAD, используйте формат PEG-revisions:

svn co URL@REV

person Lazy Badger    schedule 17.05.2013