В настоящее время у моей команды есть набор файлов, которые не должны находиться под контролем версий, но они есть. Я хотел бы удалить их из нашего репозитория Subversion и позволить всем сохранять свои локальные версии. Как лучше всего этого добиться?
При удалении файлов они удаляются из репозитория, а также из локальной файловой системы каждого пользователя. Использование флага --keep-local почти работает. Это позволяет мне хранить копию на моем компьютере, удаляет ее из репозитория, но при этом удаляет файлы из файловой системы всех остальных.
Спасибо!
Ответ 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 для старого имени.
Файлы будут в любом случае удалены, но никто не потеряет их изменения.