2010-10-09 3 views
3

Ack! Я просто ошибочно запустил «svn revert somefile» с неправильным именем файла, вставленным в него. Теперь мой красиво измененный файл исчез!Есть ли способ «svn unrevert»?

Мне нужна команда «svn unrevert». AFIK нет такой вещи. Каков следующий лучший выход из этого беспорядка?

+0

Ничего я когда-либо видел. Неприятный друг. – DaveShaw

+0

Согласен, я не считаю, что это возможно с SVN. Используйте «возвращать» экономно, лучше проверить что-то плохое и вынуждены откатываться, чем не проверять что-то хорошее :) – David

+0

Просто нашел этот вопрос лишним со старшим http://stackoverflow.com/questions/1521332/is- there-a-way-to-recover-from-an-accidental-svn-revert – DarenW

ответ

6

Невозможно отменить возврат. Вы можете вернуться, потому что Subversion хранит копию исходного файла внутри папки .svn, а когда вы запускаете команду revert, резервная копия копируется по файлу в вашей рабочей копии. Subversion не создает резервную копию вашего измененного файла до того, как он выполнит возврат, поэтому, если вы не сделали его копию где-то, вам, вероятно, не повезло.

+2

Если у вас все еще есть файл, открытый в редакторе, вы можете его восстановить. Добавьте место где-нибудь и сохраните файл, а копия в памяти редактора (которая содержит ваши модификации) должна быть сохранена над копией на диске. – bta

1

Утилита для восстановления.

Мне нравится File Scavenger.

Это хит и промах, но у вас есть шанс вернуть файл. Чем меньше активность диска с момента удаления, тем выше ваш шанс.

+4

Не работает: файл не был удален, но заменен. –

+0

Я нашел с FS, что старые версии одного и того же файла сохраняются. NTFS! = FAT. –

0

Извините, но это невозможно.

4

Если вы используете Eclipse или IDEA, они хранят локальную историю, и вы можете использовать ее для восстановления ваших изменений. Я не думаю, что есть другой способ.

1

Возможно, он сохранил файл, как это было до возврата под другим именем, $ {FILENAME} .orig или $ {FILENAME} ~ или некоторые из них. Если это не так, извините, вам не повезло.

+0

Я использую kwrite, который сохраняет (filename) ~, но я отключил эту функцию, досадуя на всех именах файлов, заканчивающихся ~ появлением повсюду. :( – DarenW

3

Если вы используете Tortoise SVN:

  1. правой кнопки мыши в любом каталоге, который является частью из рабочей копии SVN
  2. Выберите «Настройки» в меню TortoiseSVN.
  3. Нажмите на "Диалоги 1"
  4. Check "Использование Recycle Bin, когда не возвращаясь"
Смежные вопросы