Как мне синхронизировать между VSS и SVN - PullRequest
9 голосов
/ 11 сентября 2008

Я вынужден использовать VSS на работе, но использовать SVN для личного хранилища. Каков наилучший способ синхронизации между VSS и синхронизацией?

Ответы [ 3 ]

4 голосов
/ 11 сентября 2008

Чтобы избавиться от шага слияния вручную, я мог бы использовать отдельную ветку svn (svn: // branch / VSS) следующим образом:

  1. Создать рабочую копию svn: // Branchs / VSS
  2. Получите последнюю версию VSS для этой рабочей копии
  3. SVN коммит
  4. svn merge из svn: // trunk
  5. SVN коммит
  6. Выполнение сравнения с VSS и извлечение всех файлов (без перезаписи) с различиями
  7. Проверьте эти файлы
  8. реинтегрировать svn: // филиалы / VSS в svn: // trunk
2 голосов
/ 15 сентября 2008

Вы также можете рассматривать это как ветку, поставляемую поставщиком, как определено в книге о красных бобах: Отрасли поставщика

При этом основной поток будет:

  1. Иметь ветку поставщика "ветки / VSS / current", содержащую последний код из VSS
  2. Пометить текущую версию как "branch / VSS / 2008-09-15"
  3. На следующий день загрузите новые файлы в «текущий»
  4. Пометить снова в "ветки / VSS / 2008-09-16"
  5. Объединение различий между двумя тегами в магистраль, разрешение конфликтов
  6. При необходимости удалите старые теги

Это на самом деле метод, который мы использовали при переходе с VSS на SVN. Если вам небезразлична обратная поездка из SVN-> VSS, вам просто нужно провести различие между транком и ветвями / VSS / current и применить diff к VSS.

0 голосов
/ 11 сентября 2008

То, что я сделал в прошлом, выглядит следующим образом:

  1. Убедитесь, что все мои изменения зафиксированы в svn: // trunk
  2. Получите последнюю версию из VSS в мою рабочую копию.
  3. Вручную объединить изменения в моей рабочей копии.
  4. Передать объединенный код в svn: // trunk
  5. Выполните проверку VSS и извлеките любые файлы с различиями (без перезаписи файлов).
  6. Проверьте эти файлы.
...