2010-05-16 6 views
7

Компания, с которой я работаю, потерпела крупный отказ сервера. Во время этого отказа репозиторий SVN был потерян. Но есть еще надежда! У нас есть старая резервная копия репозитория, которую мне удалось успешно восстановить с помощью VisualSVN.VisualSVN Как отменить номер ревизии?

Проблема, с которой я столкнулся сейчас, заключается в том, что я не могу обновлять/фиксировать папки с исправлением ошибок. Причина этой проблемы заключается в том, что, например, в локальной папке есть номер редакции номер 2361, а сам репозиторий содержит номер версии , который старше.

Есть ли способ справиться с этой проблемой? Могу ли я каким-то образом изменить номера версий на локальной копии или на копии сервера?

Несколько пунктов:

  • Я использую TortoiseSVN 1.6.6.
  • Я могу проверить папки из репо и соединение активно.
  • Я выбрал одну из своих папок и использовал опцию Relocate. Это помогло мне увидеть, что что-то не так с номером ревизии
  • Я немного экспериментировал с параметром слияния, но это привело меня теперь к особой. (Я открыт для предложений)

Спасибо за ваше время,

Ita

ответ

4

Вам необходимо оформить свой проект в новую рабочую копию, а затем использовать все инструменты, которые у вас есть для перемещения изменений в новую рабочую копию.

Вы просто не можете вернуть номер ревизии. Ваша текущая рабочая копия потенциально содержит изменения, которые не находятся в старой резервной копии репозитория, а рабочая копия не относится к ним как «отличная от репозитория».

Поскольку ваш репозиторий был утерян, у вас возникла всякая возможность согласовать текущую рабочую копию.

+0

Я надеялся избежать этого решения, но, похоже, это было не так уж плохо. Я использовал эту строку: FOR/F "tokens = *" %% G IN ('DIR/B/AD/S * .svn *') DO RMDIR/S/Q "%% G" в пакетном файле, чтобы помочь мне избавиться от старых .svn-папок, которые находились в папках, которые мне нужно было перемещать. Спасибо за вашу помощь :) – Ita

+0

О, я не подразумевал, что вам нужно было «двигаться», но это, безусловно, подход. Я бы использовал Beyond Compare или что-то подобное, чтобы получить визуальное представление о том, что именно я делаю. Но если все сработает, больше власти! –

1

Оформить новую редакцию восстановленной резервной копии в рабочей копии. сделайте экспорт svn и старую рабочую копию и просто скопируйте все файлы/папки на предыдущую рабочую копию. Затем сделайте svn, если нужно, и зафиксируйте. Это должно суммировать все изменения.

+0

Возможно, что текущая рабочая копия содержит изменения, которые еще не были зафиксированы. –

+0

Да, это как раз идея моих предложений, потому что это займет все, что не проверено в и т. Д. (Возможно, вам нужно проверить - параметр команды команды экспорта). – khmarbaise