Суть в том, что у меня есть готовая CMS, к которой я хочу внести изменения; поэтому я хочу сохранить файлы, которые я изменяю, под контролем версий, но я не вижу необходимости помещать все дерево файлов под контроль версий.
Моя проблема в том, что мне нужно добавить файл, который будет находиться под контролем версий, который расположен в нескольких подкаталогах вниз, но я не хочу добавлять что-либо еще в репозиторий, кроме файла и его родительских папок.
Для иллюстрации, скажем, у меня есть следующий файл в моем проекте:
Проект / folder1 / folder2 / file.txt
Я хочу добавить file.txt в хранилище, и folder1 находится под контролем версий, а folder2 - нет. В папке folder1 и folder2 есть существующие файлы, которые я не хочу, чтобы все помещались под контроль версий.
Выполнение svn import folder1/folder2/file.txt
не похоже на работу, так как тогда мне нужно проверить файл, и даже если я сначала удалю локальную версию, SVN жалуется, что его родительская папка существует. Я предполагаю, что это означает, что, если я использую опцию --force, это просто забьет содержимое этих папок.
Проблема с svn add folder1/folder2/file.txt
заключается в том, что требуется, чтобы каждая родительская папка уже была в хранилище (я понял из того факта, что он не может найти файл folder2 / .svn / records), но в папке находится только папка1. репозиторий. Поэтому я решил, что мог бы сделать svn add folder1/folder2
первым. Проблема в том, что это помещает все содержимое folder2 в репозиторий, что мне не нужно. Похоже, что решением было бы сделать svn add --depth=empty folder1/folder2
, который просто добавляет папку без содержимого, но опция --depth является новой функцией в Subversion 1.5, тогда как я использую 1.4.2, и было бы неплохо избежать обновления в этот момент.
Так что мне интересно, есть ли способ обойти отсутствие опции --depth в более старых версиях Subversion? Или есть другой способ решения этой проблемы? «Мне также интересно, не был ли способ, с помощью которого я начал настраивать его, был не таким уж полезным».