Мой SVN репозиторий был установлен на сервере, и этот сервер получил вниз, У меня есть три рабочих копий, и все они внесли некоторые изменения и их не совершала на базу Что делать в этом случае, пожалуйста, помогите мнеЯ потерял свой репозиторий SVN
ответ
Означает ли это, что вы потеряли репозиторий?
В этом случае (если у вас нет резервных копий на всех) я думаю, самое простое, что нужно сделать будет:
- Создать новое хранилище где-нибудь.
- Выберите одну из ваших рабочих копий (начните с самой старой, то есть с меньшими изменениями).
- Сделайте выкуп вашего нового репозитория в пустую папку на этой машине.
- Экспорт рабочей копии (не копировать) в пустую папку вы получили в шаге 3. Так как вы, вероятно, чтобы удалить вас старые рабочие копии позже, было бы целесообразно, чтобы Экспорт неверсированные файлов также (если вы используете Tortoise SVN, есть флажок в верхней части диалогового окна «Экспорт»).
- Зафиксируйте изменения.
Повторите шаги с 2. по 5. для всех имеющихся у вас рабочих копий. Во время шага 5 вам нужно будет объединить вещи вручную. При необходимости позаботьтесь о добавлении любых неверсированных файлов.
Вы потеряете всю предыдущую историю изменений, но никакие рабочие данные не должны быть потеряны таким образом, при условии, что у вас есть все рабочие копии.
Приятное, чистое исправление, если у вас нет репо. – Steven
Сделайте исправления в каждой рабочей копии, используя svn diff > a.patch
, затем примените на одном рабочем исправлении от других двух: patch -p0 < a.patch
.
В следующий раз, использовать некоторые DVCS, что-то вроде Git или Mercurial :)
У вас есть резервная копия репозитория? Если да, загрузите его svnadmin
где-нибудь, а затем зафиксируйте изменения в этом новом месте. Используйте svn switch
, чтобы указать свои рабочие копии на новый сервер.
Если нет, то вы потеряли историю своего проекта, и нет способа вернуть его.
Все, что вы можете сделать, это создать новый репозиторий где-нибудь и зафиксировать три отдельные копии один за другим. Для этого вам, возможно, придется удалить все каталоги .svn
в ваших рабочих копиях.
Используйте DVCS как Mercurial или Git, чтобы избежать подобных ситуаций (и много других проблем).
Я не уверен, что защищать DVCS вместо стратегии резервного копирования - это, в частности, разумный совет. –
Получите новый сервер и настройте сервер svn. – RageZ
Означает ли это, что вы потеряли репозиторий? – Groo
@Groo: Я очень надеюсь, что они сделали резервные копии хранилища. Если нет, это отличный урок для жизни ;-) – Joey