Как заставить SVN только обновлять файлы, но не добавлять новые? - PullRequest
0 голосов
/ 24 сентября 2008

У меня есть хранилище файлов, которые не связаны друг с другом, но являются общими для нескольких проектов. Каждому проекту может потребоваться только подмножество этих файлов. Например:

/myRepo:
    /jquery.js
    /jquery.form.js
    /jquery.ui.js

Проект A требует jquery.js и jquery.form.js, тогда как Проект B требует jquery.js и jquery.ui.js

Я мог бы просто оформить myRepo в обоих проектах, но это добавило бы много ненужных файлов в оба. Мне бы хотелось, чтобы каждый проект получал только те файлы, которые ему нужны. Я подумал, что это возможно, если я добавлю только необходимые файлы в каждый проект, а затем выполню svn update, но каким-то образом остановлю SVN от добавления новых файлов в каждый каталог. Они все равно получат изменения к существующим файлам, но ненужные файлы не будут добавлены.

Возможно ли это вообще?

Ответы [ 4 ]

3 голосов
/ 24 сентября 2008

Не усложняйте себя. Либо извлеките все файлы (что это за недостаток? Еще несколько сотен килограммов пространства?), Либо разделите файлы на несколько каталогов и извлекайте только нужные каталоги (используя свойство 'externals') в соответствующих проектах. .

1 голос
/ 24 сентября 2008

В нашей компании мы храним все проекты в одном и том же хранилище, но в своей собственной папке проекта. Затем, если необходимо поделиться кодом, мы перемещаем его в папку библиотеки. Это способствует повторному использованию и не нарушает принцип СУХОГО.

Что касается сервера, вы можете экспортировать все свои библиотеки в центральное место и свои проекты куда угодно, без наложения.

1 голос
/ 24 сентября 2008

К, это не идеально, но подойдет. Самая большая проблема заключается в том, что он будет обновлять каждый файл по отдельности:

find . -print | grep -v '\.svn' | xargs svn update

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

1 голос
/ 24 сентября 2008

Если я правильно понял ваш вопрос, вы хотите поделиться кодом между проектами? Если это так, посмотрите на свойство svn: externals.

Внешнее объяснение в Красной книге Subversion

svn: внешние данные в Windows

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...