Наполовину игнорируемые файлы в VCS - это поддерживается? - PullRequest
1 голос
/ 08 октября 2010

Я использую Eclipse и Subversion для разработки на Java, и мне хотелось бы иметь функцию в системах управления версиями (которая, насколько мне известно, недоступна в SVN).

Я бы хотел, чтобы файлы настроек моего проекта наполовину игнорировались. Точнее, я хочу, чтобы они были доступны в VCS, я хочу, чтобы слияние происходило, когда кто-то проверяет изменения, , но . Я хочу, чтобы мои собственные изменения игнорировались, если Я очень явно не говорю системе принять их.

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

Теперь актуальный вопрос: существует ли VCS, поддерживающий эту функцию? Или может я что-то упускаю в SVN? Как другие люди решают эту проблему в Eclipse?

Ответы [ 3 ]

1 голос
/ 08 октября 2010

Да, Git поддерживает эту функцию через драйвер фильтра (сценарий clean может выполняться при фиксации, что позволяет очистить содержимое от любого изваши изменения, если хотите).

alt text

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

  • файл шаблона
  • файл значения
  • сценарий, способный заменить переменные в файлах шаблона значениями из файла значений, чтобы сгенерировать фактическое (и «личное»), как в «не версионном») установочном файле.

Таким образом, вы можете изменять его по своему усмотрению, даже не внося изменений.

0 голосов
/ 18 июля 2012

git поддерживает это с

git update-index --assume-unchanged <file>

и дополнительные

git update-index --no-assume-unchanged <file>

Подробнее см. http://blog.pagebakers.nl/2009/01/29/git-ignoring-changes-in-tracked-files и http://kernel.org/pub/software/scm/git/docs/git-update-index.html#_options.

0 голосов
/ 08 октября 2010

.gitignore для git, .hgignore для mercurial, а также пути и шаблоны файлов и шаблоны, которые не будут зафиксированы.Там похоже на SVN, но я сам никогда не понимал, как его использовать, но мой сисоп настроил его для меня.

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