2010-11-25 4 views
0

У меня есть проект в SVN с внешнеположенностью, напримерзащитить SVN внешних

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

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

+0

Внешний путь svn, содержит ли он файлы или просто каталоги? – jgifford25 2010-11-29 19:51:57

ответ

1

Я предлагаю хранить Makefile непосредственно в myproject. После этого вы можете запустить его из внешнего Пб, используя

make -f ../Makefile.external 
0

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

Тем не менее, решение Мартина, похоже, по пути наименьшего сопротивления в вашем случае ...

0

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

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

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

Вы можете прочитать больше о SVN: внешние ссылки здесь: http://svnbook.red-bean.com/nightly/en/svn.advanced.externals.html

Теперь, пока внешний Пб и MyProject существуют в то же хранилище, рабочие копии позволят вам вносить изменения в файлы и каталоги во внешнем lib.