2016-02-17 8 views
0

Я запрашиваю с сервера SVN ревизию внешнего, который, как гарантируется, существует, поскольку это последний измененный номер редакции. Вместо того, чтобы получать внешний вид, как обычно, я получаю недочетные ошибки.SVN external tagged at Last Changed Rev 'не существует' в соответствии с сервером

Вот мой SVN: внешние для них определение внешнего, которое я должен получить в перечисленных @revision_number:

/repository/things/myexternal/tags/[email protected] myexternalfoldername 

Я также попытался изменить формат этой информации, как так:

-r18152 /repository/things/myexternal/tags/0.1 myexternalfoldername 

Я бегу svn up тянуть в внешние, но я получаю ошибки:

svn: warning: W200000: Error handling externals definition for 'myexternal': svn: warning: W170000: URL 'svn://svnserver/repository/things/myexternal/tags/0.1' at revision 18152 doesn't exist

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

svn: warning: W160013: File not found: revision 97143, path 'repository/things/myexternal/tags/0.1'

Запуск Svn Информация на любом из этих внешних путей дает это : Path: myexternal Working Copy Root Path: (my local copy path) URL: /repository/things/myexternal/tags/0.1 Relative URL: ^/things/myexternal/tags/0.1 Repository Root: svn://svnserver/repository Repository UUID: (uuid here) Revision: 97143 Node Kind: directory Schedule: normal Last Changed Author: somedude Last Changed Rev: 18152 Last Changed Date: 2012-04-02 09:55:11 -0700 (Mon, 02 Apr 2012)

Обратите внимание на поле Last Changed Rev. Это исправление, которое я запрашиваю, и оно действительно. Он даже имеет записи журнала, если я их запрашиваю.

Может ли кто-нибудь сказать, что может быть неправильным с этим запросом сервера svn? Благодаря!

ответ

0

Просматривая журналы на уровне тегов/папок на ответ Бена, я обнаружил, что мои внешние символы действительно не соответствуют действительности в списке «Last Changed Rev», но причина в том, что другой пользователь переместил всю структуру папок в какой-то момент в другое место, заложенное в репозиторий (эффективно изменяя тег после факта, но он не менял информацию svn). Mayhem!

«Last Changed Rev» от svn info становится ненадежным в этом случае, поскольку файлы не были изменены, но папка была перемещена в другое место (а сообщения фиксации в теге не дали никаких подсказок).Таким образом, вы получаете тег в известном «перемещенном» месте, которое вы можете получить, не указав нужную ревизию в «Last Changed Rev», но когда вы пытаетесь проверить версию, в которой этот тег был нарушен в на разных уровнях структуры папок вы получаете эти ошибки.

Если я проверил у меня ревизию моего тега и ссылаюсь на старое местоположение файла, он решает внешний!

0

У меня много проблем найти канонический источник по какой-то причине, но я думаю что «Last Changed Rev» для каталога относится к последней редакции, в котором был изменен любые файла в каталоге.

Таким образом, вы, вероятно, находитесь в ситуации, когда какой-то файл изменился в rev 18152, а иногда после, что был создан тег 1.0. Таким образом, при пересмотре 18152 на самом деле нет пути, как указано.

Посмотрите на svn log -v вместо svn info, и вы можете увидеть, когда каталог был создан или скопирован из другого каталога. Если нет, тогда вместо этого сделайте запись в родительском элементе. Повторяйте, пока не увидите, где был создан каталог.

Затем используйте , что ревизия вместо менее полезной «Last Changed Rev» от svn info.

+0

Спасибо Бен. Завтра мне нужно провести некоторое тестирование, но я думаю, что это ответ! :) – adowdy