защитить SVN внешности - PullRequest
0 голосов
/ 25 ноября 2010

У меня есть проект в SVN с внешними, например

- myproject
|
|--------stuff1
|--------stuff2
|--------external-lib    // svn::external

Мне нужно добавить файл (Makefile) в директории external-lib, я хочу его закомпоновать внутри мой репозиторий (myproject), а не внешний.Очень важно не изменять внешний репозиторий.Является ли это возможным?Я хочу использовать головную ревизию внешнего репозитория.

Ответы [ 3 ]

1 голос
/ 25 ноября 2010

Я предлагаю сохранить Makefile в myproject напрямую.Затем вы можете запустить его из external-lib, используя

make -f ../Makefile.external
0 голосов
/ 06 декабря 2010

На основании ответа на мой комментарий по вашему вопросу, если ваш сервер и клиенты используют Subversion 1.6.x, вы можете сделать это.В Subversion 1.6.x теперь доступна поддержка внешних файлов.Поэтому для каждого файла и каталога, содержащихся в пути svn :: external, вам необходимо создать и ввести в свойстве svn: externals для каталога myproject.

Свойство svn: externals будет выглядеть примерно так:

^/external-lib/file1 file1
^/external-lib/directoryA directoryA
^/external-lib/file2 file2
^/external-lib/directoryB directoryB

Подробнее о svn: externals можно прочитать здесь: http://svnbook.red -bean.com / nightly / en / svn.advanced.externals.html

Теперь, пока external-lib и myproject существуют в одном и том же хранилище , рабочие копии позволят вам зафиксировать изменения в файлах и каталогах в external-lib.

0 голосов
/ 26 ноября 2010

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

...