SVN игнорирует файл в родительских ветвях

#svn #branch #parent #ignore

#svn #ветка #родитель #игнорировать

Вопрос:

Я хочу, чтобы определенные файлы/папки контролировались версиями на определенных ветвях «уровня» и ниже (имеется в виду ветви, которые ответвляются от этой ветви), но хочу игнорировать их вверх. Могу ли я добиться этого?

Перефразируя: У меня есть несколько проектов, которые довольно похожи, но отличаются некоторыми файлами (1-2 файла). Я хотел бы иметь основную ветвь для всех общих вещей и иметь ветви для сохранения особого поведения. Таким образом, я мог бы легко объединить исправления между проектами с помощью общего предка, а также управлять их особыми аспектами (и версиями). Достижимо ли это?

Пример:

  • Root (не полный проект):
    • 1
    • 2
  • Проект А (родитель: Корень):
    • 1
    • 2
    • q
  • Проект B (родитель: Root):
    • 1
    • 2
    • w

Ответ №1:

В конце концов я остановился на «внешнем подходе»:

Все общие материалы находятся в master, все проекты ветвятся от master, и добавлена внешняя папка с относительным путем в репозитории. Особенности проекта помещаются в эту папку, которая является еще одним репо, доступным только в их соответствующем репо проекта.

 master project1 |-specific  |-spec |-trunk (parent is master)  |-spec: external ../specific/spec project2 |-specific  |-spec |-trunk (parent is master)  |-spec: external ../specific/spec  

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