Bezdepbonusu7Программирование: статьи и ответы

Вопрос

Как в Subversion отменить захват файла?

Автор вопроса: RydellОтветов: 4

В настоящее время у моей команды есть набор файлов, которые не должны находиться под контролем версий, но они есть. Я хотел бы удалить их из нашего репозитория Subversion и позволить всем сохранять свои локальные версии. Как лучше всего этого добиться?

При удалении файлов они удаляются из репозитория, а также из локальной файловой системы каждого пользователя. Использование флага --keep-local почти работает. Это позволяет мне хранить копию на моем компьютере, удаляет ее из репозитория, но при этом удаляет файлы из файловой системы всех остальных.

Спасибо!

  • Похоже на обман stackoverflow.com/questions / 714307 / crashmstr 02.06.2009

version-controlsvn

Ответы

Ответ 1 · рейтинг 5 · matpie

После удаления файла вашим пользователям придется восстановить файл из репозитория с помощью svn export.

$ svn export -r x path ./

Где x - это ревизия, в которой файл существовал до его удаления, path - это полный путь к файлу, а ./ - это место, куда файл будет помещен.

См. svn help export для получения дополнительной информации.

Ответ 2 · рейтинг 2 · Alister Bulman

Когда вы удаляете его из репо, он в конечном итоге удаляет его из других рабочих копий.

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

Ответ 3 · рейтинг 2 · Sander Rijken

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

Ответ 4 · Maciej Łebkowski

Вместо того, чтобы удалять его, переместите его в какое-нибудь имя файла резервной копии (конечно, в SVN). Затем установите свойство svn: ignore для старого имени.

Файлы будут в любом случае удалены, но никто не потеряет их изменения.

Перевод вопроса и ответов сообщества Stack Overflow, лицензия CC BY-SA. Оригинал на Stack Overflow.

Похожие материалы