У меня возник вопрос о версии BASE в svn. Я знаю, что это первоначальная версия элемента с момента последнего обновления, и svn diff и статус в основном работают против этой версии. Когда обновляется BASE? Обновляется ли он в HEAD при запуске обновления? Всегда ли это верно, даже если во время обновления произошел конфликт? Что BASE имеет конфликт? Есть ли у него версия от моего последнего обновления (до самого последнего обновления, вызвавшего конфликт) или будет ли она обновлена до HEAD, даже если есть конфликт?
Также, когда выполняется svn commit, я предполагаю, что BASE обновляется с моими локальными изменениями, и на данный момент BASE, HEAD и моя локальная копия все одинаковы? Если фиксация прошла успешно.Когда svn BASE становится равным HEAD
ответ
ГОЛОВА является последней ревизии в хранилище. BASE - это последняя ревизия, которую вы получили в репозитории. Они одинаковы после успешной фиксации или обновления.
При внесении изменений ваши файлы отличаются от BASE-копий. Когда вы вернетесь, они вернутся к соответствию версии BASE. Когда вы получаете конфликт, вы не обновляете репозиторий. Скорее, ваши файлы считаются «редактируемыми», как если бы вы вносили изменения. После того, как вы разрешите конфликты, вы, по сути, решили, как будут выглядеть финальные файлы, и тогда вы их совершите, как обычно. Итак, конфликты похожи на случай специального редактирования.
BASE - это ревизия вашей рабочей копии, как она существует в репозитории. Другими словами, ваша ревизия без внесенных вами изменений. Итак, если вы svn update
файл или папку для HEAD, то BASE и HEAD равны.
Когда есть конфликт, BASE становится ревизией перед фиксацией, которая противоречила вашей рабочей копии.
Запустить svn info
по вопросу о пересмотре базы данных.
Теория: После успешного рекурсивного обновления или переключения базовой версии всех ваших файлов становится головкой. После фиксации или частичного обновления некоторые файлы могут быть в редакции HEAD, но только после обновления, которое не пропускает файлы, вы можете быть уверены, что все файлы находятся в одной и той же версии. (Причины для пропуска - это неверующие препятствия или конфликты).
Но, зачем вам это нужно знать. Subversion должен знать это внутренне, но это знание не должно иметь большого значения для пользователя в большинстве случаев. (Subversion автоматически предупреждает вас, когда файлы устарели).
Насколько я могу судить, единственный раз, когда вам действительно нужно убедиться, что вы находитесь в стабильной версии, это когда вы создаете ветку из рабочей копии.
Я просто хотел выяснить, как работает svn и его детали реализации. Спасибо за ваш ответ. – HeretoLearn
Это важно, когда вы просматриваете журналы, потому что журнал svn без url показывает ваш журнал BASE, но с URL-адресом вашего журнала HEAD, поэтому я всегда использую «svn log -rHEAD: 1», чтобы увидеть все изменения.
- 1. svn export from HEAD
- 2. Twilio IpMessagingClient становится равным нулю, когда я перезапускаю приложение
- 3. Stop JavaFX Timeline, когда размер таблицы становится равным нулю
- 4. svn Разница betwenn BASE & COMMITTED
- 5. Массив становится равным нулю при использовании List.toArray
- 6. AverageTimer32 значение счетчика становится равным нуль
- 7. Почему вывод следующего кода становится равным нулю?
- 8. ViewModel становится равным нулю при передаче действий
- 9. SVN-журнал регистрируется от HEAD-n до HEAD-n + m?
- 10. Как получить последнюю версию SVN HEAD в git-svn?
- 11. Как вернуть ветку git-svn в SVN HEAD?
- 12. svn track brand new code base
- 13. svn multibranch changes base in jenkins ci
- 14. Git Diff между HEAD и SVN Master
- 15. git-svn HEAD отличается от мастера
- 16. Захватить номер svn HEAD git commit?
- 17. Head на журнал Svn не всегда останавливается
- 18. Получить SVN HEAD Редакция и сделать папку
- 19. SVN-команда: найдите текущую ревизию HEAD ветки
- 20. переписать значение html head> base> href
- 21. Поле объекта становится равным нулю при выполнении задания в angularjs
- 22. Android JSONObject становится равным нулю при попытке отправить
- 23. rendererPane становится равным нулю при использовании BasicTableUI от swing
- 24. Значение IBOutlet становится равным нулю при доступе внутри делегата
- 25. Когда HashSet называет метод равным?
- 26. Когда порт становится «открытым»?
- 27. Когда это становится излишним?
- 28. Когда DataReader становится пустым?
- 29. Когда ReST становится SOAP?
- 30. Когда @ становится полезным?
Они те же, хотя и ненадолго, после обновления, хотя и не обязательно после фиксации. Рассмотрим каталоги и «смешанные ревизионные рабочие копии». – bendin
Очевидно, что создание этих «смешанных ревизионных рабочих копий», что означает, что вы можете создать фиксацию без полного знания того, что происходит, является следствием одного из «основных правил Subversion». –