SVN: игнорировать инструкции и на чем?

Мне кажется, что было бы неплохо добавить свойство svn: ignore в такие файлы, как .classpath. Я использую как среду разработки Windows (рабочая, тьфу), так и среду разработки Linux, и каждый раз, когда я синхронизируюсь с репозиторием, он перезаписывает мой .classpath с какой бы машины я ни работал.

Я попытался щелкнуть правой кнопкой мыши файл .classpath в перспективе Team Sync, но параметр svn: ignore неактивен.

Есть идеи, как я могу: 1. вывести этот элемент из системы контроля версий, 2. добавить его в список игнорирования?

Есть ли другие файлы, которые можно было бы добавить к этому списку?


person Bill Mote    schedule 17.03.2011    source источник


Ответы (2)


В командной строке:

svn rm --keep-local .classpath
svn pe svn:ignore .

Первая команда удаляет .classpath из SVN, сохраняя файл локально. Вторая команда позволяет редактировать svn:ignore. Добавьте к свойству ".classpath".

Общее правило заключается в том, что для любых выходных файлов сборки, машинно-зависимых или пользовательских файлов не следует управлять версиями, а затем добавлять их в svn:ignore. Я не знаком конкретно с Java или Eclipse, поэтому не могу назвать файлы по имени.

person Mike    schedule 17.03.2011
comment
Обратите внимание, что --keep-local сохраняет файлы для вас, но удаляет их для всех, кто запускает svn update впоследствии. - person Sander Rijken; 18.03.2011
comment
Я намерен решить эту проблему за выходные. Спасибо за ответ! - person Bill Mote; 18.03.2011
comment
@SanderRijken Я использую что-то вроде 'find -iname * -type d -execdir svn rm --keep-local .settings .classpath .project target \; ', чтобы удалить все файлы, которые я игнорирую. (Здесь используется команда поиска linux.) - person alfonx; 17.12.2014

Чтобы получить svn: ignore, помните, что svn: ignore - это свойство записи файловой системы. Это означает, что вам нужно использовать svn propedit svn:ignore (для редактирования свойства).

Что нужно игнорировать? Все, что построено из чего-то другого. Все «файлы блокировки», которые редакторы могут установить. Все временные файлы. Некоторые файлы конфигурации, требующие различий между разработчиками (однако вы должны зарегистрировать шаблон с немного измененным именем, например config.template). По сути, все, что вы не хотите регистрировать.

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

Скорее всего, вам придется сначала удалить файл svn: (сделать его копию, иначе вы потеряете единственную копию) и зафиксировать «удаление» обратно в репозиторий. Затем укажите каталог, в котором должен был быть файл .classpath, чтобы добавить «.classpath» в список svn: ignore.

person Edwin Buck    schedule 17.03.2011
comment
subclipse действительно является клиентом для eclipse - person Sander Rijken; 18.03.2011
comment
Я намерен решить эту проблему за выходные. Спасибо за ответ! - person Bill Mote; 18.03.2011
comment
Удачи в ваших усилиях, это не так сложно, как кажется! - person Edwin Buck; 18.03.2011