2009-06-01 3 views
11

Я пытаюсь создать своего рода символическую ссылку в нашем репозитории subversion с помощью svn: externals, но на самом деле это не очень хорошо работает. То, что я хочу сделать, это связать папку в одной части же хранилища к другому, например, так:Как сделать внутренний svn: externals

SRC/somewhere_else/Schema https://svn.acme.com/svn/project/trunk/src/schema

Это прекрасно работает действительно внешних ресурсов (т.е. каталоги в другое репо), но я не могу заставить его работать на ресурсы в рамках одного и того же репо, как описано выше. Я искал это какое-то время, и мне кажется, что это должно быть поддержано, чего мне не хватает?

Мы используем Subversion 1.5.5 под VisualSVN при установке сервера Windows 2003.


EDIT:

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

ответ

3

Попробуйте выполнить «Обновить до конкретной версии» и укажите «Полностью рекурсивный». Если ваша рабочая копия застряла на «Только рабочая копия», она не получит внешнего содержимого.

+0

Это, похоже, сделало трюк, спасибо! –

3

Я не думаю, что если это ваша настоящая проблема, но я определяю свойства непосредственно в папке. В вашем случае, я создаю папку src\somewhere_else и добавьте свойство:

schema https://svn.acme.com/svn/project/trunk/src/schema 

Просто немного, что нужно помнить, если вы определили абсолютный внешний URL, как вы предлагаете сделать:

src/somewhere_else/schema https://svn.acme.com/svn/project/trunk/src/schema 

они не будут автоматически изменяются, если вы создаете TAG или BRANCH. Это означает, что одна часть TAG (внешний url) всегда будет указывать на TRUNK вашей схемы.

Это, конечно, прекрасно, если схема не меняется слишком сильно, но может быть проблемой дальше по дороге, когда у вас есть 2-летнее приложение для исправления, и схема была широко изменена.

+1

Очень красивый комментарий о путях, спасибо! –

+0

yep спасибо!просто помог мне напомнить кому-то еще, кто был в папке в том же репозитории, почему бы не сделать это :) – ehambright

1

Синтаксис вы отдаете:

working-copy-relative-path full-repo-url 

должно работать нормально. Но если вы идете по этому маршруту, вам нужно указать полный URL-адрес, как если бы вы его использовали, даже если ссылка находится в том же хранилище. Вы это делаете, правильно?

Альтернатива, введенная с 1.5 являются относительными: внешние

репо URL или-относительного пути рабочего от копирования относительного пути ссылка

знакомства Roger Lipscombe для получения дополнительной информации.

Все еще, то, что вы описываете должно работа. Если он не работает, вы не должны описывать то, что вы на самом деле делаете достаточно точно. Некоторые детали по-прежнему отсутствуют.

Смежные вопросы