У меня репо SVN. Когда я недавно зафиксировал изменение, отраженная текущая ревизия № 620:
Transmitting file data ...
Committed revision 620.
Однако, если я затем побегуsvn info
Получаю следующее:
Path: .
URL: http://www.site.com.testing/repos/site.com/trunk
Repository Root: http://svn.server/repos/site.com
Repository UUID: a9c3a166-39f6-4cfb-8622-fd24eb11034b
Revision: 584
Node Kind: directory
Schedule: normal
Last Changed Author: bob
Last Changed Rev: 584
Last Changed Date: 2012-03-26 18:32:55 -0400 (Mon, 26 Mar 2012)
Итак, фиксация чего-то говорит мне, что текущее репо SVN - 620, но svn info
сообщает мне, что текущая версия - 584. Также svn log
показывает 584 как текущую (самую последнюю) версию.
Если я смотрю журнал SVN через TortoiseSVN в Windows, он правильно показывает ревизию 620 как текущую.
Я что-то упускаю относительно того, как svn info
и svn log
работай?
Subversion показывает вам, что вы проверили ревизию 584. Информация взята непосредственно из .svn/entries
файл, а не с сервера.
Это происходит из-за того, что Subversion по возможности не запрашивает информацию у сервера репозитория. Было принято решение позволить пользователям иметь большую мощность Subversion, если они работают удаленно и не имеют сетевого подключения к серверу репозитория.
svn info
в одном из только что зафиксированных файлов вы увидите, что это версия 620.svn info http://www.site.com.testing/repos/site.com/trunk
, вы увидите, что последней ревизией была ревизия 620, потому что она обращается к серверу.svn update
а затем svn info
, вы увидите, что ваш рабочий каталог имеет ревизию 620.Небольшой вопрос: вы зафиксировали несколько файлов или весь рабочий каталог? Если бы вы указали в своем коммите файлы, которые были изменены, это имело бы смысл. Subversion не знала бы об обновлении .svn/entries
файл в корне вашего рабочего каталога. Однако я видел это, даже когда фиксировал все изменения. Я стал делать svn up всякий раз, когда фиксирую все свои изменения.
Помните: Это не ошибка. Это особенность.
Вероятно, команда svninfo показывает вам ревизию текущего рабочего каталога, тогда как, когда вы фиксируете измененный файл или файлы, вывод этой фиксации показывает новую ревизию этих файлов. 584 будет последней измененной / обновленной версией папки.
Попробуйте запустить svn update
в папке и при повторном запуске svn info
. Это должно довести остальную часть папки до 620