Subversion: Как выполнить обновление для проверки?

У меня есть ситуация, когда:

  • Разработчик работает над проектом SVN.
  • Лицо проверяет проект SVN, уходит, ребенок/кошка/жена сидит/dools/sleepwalks/что угодно на компьютере и вставляет gobbledygook asdfg-код. Человек выполняет проект.
  • Разработчик видит плохие файлы и Update To Revision обратно в последнюю рабочую версию

Все хорошо, пока разработчик не захочет совершить проект. Если разработчик внес изменения в файл, о котором идет речь, он будет исправлен просто отлично. НО, если нет - разработчик только Update To Revision и никаких дальнейших изменений не внесен - этот файл не будет выполнен, и любые обновления проекта будут отображать вам файл asdfg-кода gobbledygook.

Вопрос: если я только обновляю файл "Обновить до версии", как мне его снова выполнить без ручного редактирования файла?

Ответы

Ответ 1

Я думаю, что вы выбрали неправильный маршрут вокруг проблемы.

Вместо того, чтобы изменять какую ревизию вы смотрите, вы должны иметь:

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

Итак, теперь вы должны обновить до последней версии (применяя изменение мусора) и вернуть свое изменение, которое вернет вас обратно. В значительной степени, как если бы они внесли изменения, пока вы работали и не имели изменений в первую очередь.

Вы можете совершать транзакции только тогда, когда ваш код обновляется с головой рабочей ветки/соединительной линии.

SVN не будет создавать ветку для вас динамически в этот момент более ранней версии, вам нужно выбрать ветку или обновить ее до головы.

Ответ 2

Если вы находитесь в окнах и используете TortoiseSVN:

  • Щелкните правой кнопкой мыши на директории, выберите "TortoiseSVN > Merge..."
  • Выберите "Слить диапазон изменений"
  • В "Url to merge from" выберите текущую ветку (ту, которая выдается в текущем каталоге)
  • В поле "Изменить диапазон для объединения" или выберите ( "Показать журнал" ) последнюю версию неправильной
  • Отметьте флажок "Обратное слияние"

Затем после слияния просто зафиксируйте!:)

Ответ 3

Вы можете просто отменить изменения, используя следующие

svn merge -c -RevisionWhichWasWrong ^/trunk

RevisionWhichWasWrong - это последнее, которое вы отметили. После этого просто сделайте

svn commit 

и что он.

BTW: Невозможно проверить, если вы никогда не вносили изменений в содержимое файлов.

Ответ 4

Хороший вопрос! Насколько я знаю, это возможно только вручную, добавив в файл пробел или что-то в этом файле, поэтому subversion видит файл как измененный. После этого создается новая ревизия.

Ответ 5


1- Обновить до специальной версии, что вы хотите быть последней версией.

- Экспортируйте эту версию в папку.

3- Обновить рабочую копию до последней версии.

4- Перезаписать экспортированные файлы и папки в папку рабочей копии.

5- Commit!