Используя svn remove - сохранить файл на диске вместо того, чтобы удалить его? - PullRequest
5 голосов
/ 01 мая 2010

Я создаю проект eclipse, который генерирует много файлов, которые я не хочу держать под контролем версий. Например, он создает папку проекта, например:

project/
    bin/
      horse.class
      cow.class
    src/
      horse.java
      cow.java

поэтому я добавляю папку проекта в svn, например:

svn add project

это позволяет контролировать все, даже файлы bin и .class. Все эти файлы будут иметь маленькое «а» рядом с ними.

Как я могу просто удалить статус «добавить» из этих файлов? Если я попытаюсь:

svn remove bin/horse.class 

Мне нужно использовать параметр --force, и он удаляет файл с диска. Есть ли способ просто удалить его из источника, но не удалить файл с диска?

Спасибо

Ответы [ 5 ]

4 голосов
/ 05 мая 2010

Если у вас последняя версия SVN (как минимум 1.5), вы можете использовать

svn remove --keep-local bin/horse.class
2 голосов
/ 05 мая 2010

Вы можете использовать команду svn revert.

revert: восстановить файл первичной рабочей копии (отменить большинство локальных изменений).

использование: вернуть PATH ...

Поскольку первоначальное состояние вашего файла не добавлено, оно должно работать для вас.

svn revert bin/horse.class
0 голосов
/ 01 мая 2010

Не прямой ответ на ваш вопрос, но я бы посоветовал вам попробовать плагин svn для eclipse, например: subclipse .

Он автоматически добавит только нужные вам файлы.

0 голосов
/ 01 мая 2010

Перед добавлением настройте свойство ignore svn, чтобы игнорировать файлы, которые вы не хотите добавлять. Ищите global-ignores в разделе [miscellany] в файле конфигурации Subversion. В Linux это ~/.subversion/config, в Windows - %USERDIR%\Application Data\Subversion\config. Однако это работает только для файлов, которые можно сопоставить с глобальными шаблонами (например, все файлы, заканчивающиеся на .class и т. Д.).

В схеме, показанной ниже, я бы не просто добавил project, а только те файлы, которые должны попасть под контроль версий - при условии, что project/bin/horse.class - единственный файл, который нужно опустить, вы можете просто добавить как svn add --parents project/src; svn add --parents project/bin/cow.class.

0 голосов
/ 01 мая 2010

svn rm --keep-local bin/horse.class должно сработать, хотя я бы порекомендовал использовать subclipse . Установка очень проста, и она намного более интегрирована, чем инструменты командной строки (как я уверен, вы можете себе представить).

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