SVN игнорирует все подпапки с указанным именем

Я хотел бы игнорировать определенную именованную подпапку из всех текущих и будущих папок, созданных на уровне 1.

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

  • Templates
    • Create
      • magic.template
      • единорог.шаблон
    • Update
      • fairy.template
      • пыль.шаблон
    • ...

Мой процесс сборки перебирает все папки и преобразует шаблоны в реальные файлы. Они помещаются во вложенную папку с именем GeneratedTemp. В результате получается следующая структура.

  • Templates
    • Create
      • magic.template
      • единорог.шаблон
      • GeneratedTemp
        • magic.actual
        • единорог.фактический
    • Update
      • fairy.template
      • пыль.шаблон
      • GeneratedTemp
        • fairy.actual
        • пыль.актуальная
    • ...

Что я хотел бы сделать, так это игнорировать все подпапки Templates\XXX с именем GeneratedTemp. Это возможно? И как?


person Jason    schedule 02.03.2011    source источник
comment
Какой клиент SVN вы используете?   -  person Noon Silk    schedule 03.03.2011


Ответы (2)


Вы можете добавить свойство svn для папок, содержащих GeneratedTemp. Смените каталог на /Templates и выполните:

svn propset svn:ignore --depth=immediates GeneratedTemp .
svn ci "ignore */GeneratedTemp"

Это установит свойство svn:ignore для всех папок в папке /Templates. Обратите внимание, что он очистит все предыдущие свойства svn:ignore, установленные для этих папок, если таковые имеются (в этом случае вы должны использовать svn propedit).

person pmod    schedule 02.03.2011
comment
Это похоже на решение, которое мне нужно. Я пытаюсь понять, как я могу изменить файл свойств, чтобы включить параметр глубины. Насколько я могу судить, у TortoiseSVN нет инструмента командной строки для добавления этих свойств. - person Jason; 03.03.2011
comment
Правильно, в TortoiseSVN вам нужно будет сделать все это вручную. Я бы предложил установить командную строку svn (SilkSvn), потому что обычно она имеет больше опций и более гибкая. - person pmod; 03.03.2011
comment
Можете ли вы помочь мне узнать, как сделать то же самое? Что скачать или какие меню использовать, чтобы папки игнорировались? А куда установить (если действительно нужен SilkSvn) и нажать? - person goldengel; 28.05.2011

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

person Lindydancer    schedule 02.03.2011
comment
Я не согласен; это вполне допустимо; просто добавьте их в список игнорирования; это цель этого. Это не значит, что я не согласен с предложенной вами стратегией в целом; Я думаю, что это, вероятно, приемлемо в некоторых средах; но это не требование. - person Noon Silk; 03.03.2011
comment
Согласен @Noon Silk. Игнорирование некоторых рабочих папок/файлов является обычной практикой. - person pmod; 03.03.2011
comment
О, может быть, никогда — слишком сильное слово. Однако, если возможно, лучше иметь один или несколько игнорируемых каталогов, содержащих журналы и сгенерированные файлы, а не распределять их по версионному файловому дереву. - person Lindydancer; 03.03.2011