2009-07-30 3 views
0

У меня есть реверсирование subversion с каталогами, которые содержат обычные файлы с контролируемым источником, но в дополнение к ним содержатся файлы, которые являются зависимыми для выполнения, но не проверены в исходном элементе управления и вместо этого добавлены как svn: ignore (поскольку они будут храниться в дубликатах по всему репо, если они будут проверены во всех папках). (поверьте мне или нет, но есть причина, которая по крайней мере наполовину хороша для того, чтобы это дублирование проигнорированных файлов ;-))Скопировать svn: игнорировать файлы при ветвлении

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

Заранее благодарим за помощь!

ответ

0

Я считаю, что ответ отрицательный, потому что Subversion ничего не знает об этих файлах, он думает, что вы действительно хотите, чтобы они всегда были проигнорированы. На самом деле один из методов ветвления включает в себя копирование из одной точки в репозиторий в другой (URL -> URL, тогда как вы, вероятно, говорите о копировании из рабочей копии в ветку), и в этом случае : нет «проигнорировано «файлы, поскольку он копирует непосредственно между битами репозитория.

Хотя я не понимаю, почему разработчики Subversion не могут добавить новую функцию, чтобы разрешить автоматическую копию svn:ignore «D файлов при копировании из рабочей копии (WC -> URL или WC -> WC).

Возможно, было бы непросто написать сценарий, который проверял свойства svn: ignore и соответствовал (как и svn) этим файлам, а затем скопировал их тоже.

Команда

svn status --no-ignore | grep '^I' 

должен дать вам список всех игнорируемых файлов. Протяните через sed, чтобы очистить линию, затем xargs, и вы можете быстро скопировать файлы. Хотя и не автоматически, это то, что вы ищете.

3

Нет, нет способа сделать это. Основная цель свойства svn: ignore - НЕ хранить в репозитории файлы с игнорированием. Как сервер мог угадать, какие файлы у вас есть на вашем компьютере?

+0

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

+0

(уточнение - перейдите к разветвленному каталогу -> через разветвленную рабочую копию каталога) –

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