Любые изменения, внесенные с момента резервного копирования, отсутствуют в хранилище, и каждый должен будет сделать новую проверку из восстановленного хранилища. (Номера ревизий изменились, и у вас будет беспорядок, если вы этого не сделаете.)
Что касается спасения любых изменений от локальных копий разработчика, да, это будет скорее вручную. Однако «diff» и «patch» - ваши друзья. Если вы не знакомы с cygwin, вам нужно получить это и получить пакеты diff, patch, diffutils и patchutils, чтобы у вас была команда diff и patch. Вы можете использовать команду diff, чтобы создать файл, содержащий дельту между одной копией исходного дерева и другой. Вы захотите использовать его так:
diff -urN --exclude=.svn fresh_check_from_new_repo old_working_copy > developer1changes.patch
Сделайте это для каждой рабочей копии разработчика.
Вы можете взять эти файлы и применить изменения к новой проверке, используя команду «patch», например:
cd working_copy
patch -p1 -i ...../developer1changes.patch
Теперь у вас будет рабочая копия с их изменениями. (Хотя без их svn-добавлений, svn-rms и изменений свойств.) Оттуда определите, что нужно зафиксировать.
Вы можете использовать команду «filterdiff», чтобы извлечь файл исправления и отфильтровать части изменений, направить их для исправления, и он применит только эти изменения.
редактировать:
Другой вариант:
для каждого разработчика создайте ветку и извлеките эту ветвь, затем скопируйте их локальную копию в файлы этой новой рабочей копии и подтвердите.
Это получает всю работу в хранилище, где она не потеряется. Затем вам придется иметь дело с конфликтами при попытке объединить ветви в ствол. На этом этапе вы сможете использовать инструменты графического интерфейса, чтобы выбрать, какие изменения оставить или выбросить.
Но краткий ответ: у вас много работы, поскольку у вас нет самой последней резервной копии репо ... поэтому, как только вы снова сможете работать, настройте намного больше частое расписание резервного копирования.