2012-03-19 4 views
3

У меня есть файл конфигурации в моем проекте, который должен находиться в репозитории (так что новые разработчики получают его при проверке проекта). Каждый разработчик может изменить некоторые значения в файле локально - эти изменения не должны быть зафиксированы, и я не хочу, чтобы они отображались в меню синхронизации (я использую eclipse и subversive, если это имеет значение).SVN - игнорирование файлов уже в репозитории

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

EDIT: Лучшее описание - то, что мне действительно нужно, - это установить свойство «только для чтения» в файле конфигурации, поэтому его нельзя изменить в репозитории, пока свойство на. Знаете ли вы что-нибудь подобное?

Благодаря

+0

Возможный дубликат: http://stackoverflow.com/q/2277258/833111 – justshams

ответ

3

Я делаю это, имея базовую версию файла, зарегистрированную как foo.base, и svn блокирует это, чтобы он был доступен только для чтения при проверке. Затем каждый разработчик скопирует этот файл в свой собственный файл foo, который игнорируется svn-ignore.

2

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

+0

Можете ли вы дать точную ссылку на этот хороший комментарий? – khmarbaise

+0

http://stackoverflow.com/a/2038639/960558 –

+0

Это означает, что я ожидал, что вы скажете, что мне нужна только одна фиксация для этого, а не две, что правильно. Тем не менее вы не можете игнорировать уже обработанный файл. – khmarbaise

1
  • Вы можете версия шаблон под другим именем

ИЛИ

+0

propedit - вы имеете в виду, что его игнорировать? И он все равно будет в режиме игнорирования после его совершения?Либо я этого не понимал, или что-то не звучит правильно – Alex

0

как только у проверить, и может заблокировать его, и как только это заблокированы, другие не смогут совершать (вносить изменения в svn) этот файл. см. изображение ниже enter image description here

+0

Теперь у нас есть блокировки, но я все равно получаю его в окне синхронизации каждый раз, пока я (возможно, случайно) не забыл сделать «Удалить из вида», и он получит совершенные как часть некоторых несвязанных наборов изменений – Alex

0

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