Как добавить существующую папку с файлами в SVN?
Как вы добавляете папку без контроля версий в конкретное местоположение SVN? Я часто начинаю писать код, и только после того, как у меня есть несколько папок, содержащих файлы кода, я добавляю его в SVN.
То, что я обычно делаю, это:
- svn co родительский каталог, где я хочу создать новую папку для хранения моего кода.
- svn mkdir, чтобы сделать каталог, в который я хочу поместить свой код.
- Скопируйте и вставьте мой код.
- svn commit.
- Удалите текущий каталог рабочего кода.
- Повторно создайте каталог рабочего кода, используя svn co.
Ответы
Ответ 1
Скажем, у меня есть код в каталоге ~/local_dir/myNewApp
, и я хочу поместить его под " https://svn.host/existing_path/myNewApp " (при этом можно игнорировать некоторые двоичные файлы, библиотеки поставщиков и т.д.).
- Создайте пустую папку в репозитории
svn mkdir https://svn.host/existing_path/myNewApp
- Перейдите в родительский каталог проекта,
cd ~/local_dir
- Проверьте пустую папку в локальной папке. Не бойтесь - файлы, которые вы локально не удаляете.
svn co https://svn.host/existing_path/myNewApp
. Если ваша папка имеет другое имя локально, чем в репозитории, вы должны указать ее как дополнительный аргумент. - Вы можете видеть, что
svn st
теперь покажет все ваши файлы как ?
, что означает, что они в настоящее время не контролируются контролем - Выполните
svn add
файлы, которые вы хотите добавить в репозиторий, и добавить других в svn:ignore
. Вы можете найти полезные опции с svn help add
, например --parents
или --depth empty
, если вы хотите выборочно добавлять только некоторые файлы/папки. - Зафиксировать
svn ci
Ответ 2
Если я правильно понял ваш вариант использования, я предлагаю попробовать использовать svn add, чтобы поместить новую папку под версию, см. Здесь. Ниже будет добавлена новая папка с файлами рекурсивно под управлением версии (если вы находитесь внутри действующей рабочей копии):
svn add new_folder
svn commit -m "Add New folder to the project"
Если у вас нет рабочей копии, создайте ее с помощью svn checkout, скопируйте новую папку и выполните указанные выше действия.
ИЛИ
Попробуйте импортировать svn, см. Здесь; следующее создаст новую папку и загрузит файлы в репозиторий:
svn import -m "Import new folder to the project" new_folder \
http://SVN_REPO/repos/trunk/new_folder
Также обратите внимание:
После импорта данных обратите внимание, что исходное дерево не находится под управлением версиями. Чтобы начать работу, вам все равно нужно выполнить svn checkout новую рабочую копию дерева
Ответ 3
Я не использую команды. Вы должны сделать это с помощью GUI:
- Щелкните правой кнопкой мыши пустое место в папке Мои документы, выберите TortoiseSVN> Repo-browser.
- Введите http://subversion... (ваш путь к вашему каталогу Subversion/каталог, который вы сохраните) в качестве вашего пути, и выберите ОК.
- Щелкните правой кнопкой мыши корневой каталог в репо и выберите " Добавить папку". Дайте ему название вашего проекта и создайте его.
- Щелкните правой кнопкой мыши папку проекта в Repo-браузере и выберите Checkout. Каталог Checkout будет вашей папкой
Visual Studio\Projects\{your project}
. Выберите ОК. - Вы получите предупреждение о том, что папка не пуста. Скажите " Да", чтобы проверить/экспортировать в эту папку - он не перезапишет ваши файлы проекта.
- Откройте папку проекта. Вы увидите вопросительные знаки в папках, связанных с вашим проектом VS, которые еще не добавлены в Subversion. Выберите эти папки с помощью Ctrl + Click, затем щелкните правой кнопкой мыши один из выбранных элементов и выберите TortoiseSVN> Добавить
- Выберите ОК в строке
- Ваши файлы должны добавить. Выберите "ОК" в "Добавить завершено"! диалог
- Щелкните правой кнопкой мыши в пустой области папки и выберите "Обновить". Вы увидите "+" значки в папках/файлах, теперь
- Щелкните правой кнопкой мыши пустую область в папке еще раз и выберите команду SVN Commit
- Добавьте сообщение о том, что вы совершаете, и нажмите "ОК".
Ответ 4
Если намерение добавляет локальную/рабочую копию в SVN, я использовал это следующим образом.
Примечание. Я использую клиент TortoiseSVN, и эти шаги предполагают, что у вас уже установлен клиент TortoiseSVN.
- У меня есть проект (Test-4.2.2) в моем местном. Я хочу загрузить/добавить его в репозиторий SVN.
- Используя репо-браузер TortoiseSVN, я создал пустой каталог "Test-4.2.2",
- В моем локальном я переименовал существующий каталог "Test-4.2.2" в "Test-4.2.2.1" (временный)
- Оформить покупку пустого "Test-4.2.2" от SVN до локального
- Скопируйте все подкаталоги в разделе 4.2.2.1 в этот справочный каталог 4.2.2
- Теперь щелкните правой кнопкой мыши "Test-4.2.2" и зафиксируйте.
- Удалите временную папку "Test-4.2.2.1"
Ответ 5
В Windows 7 я сделал следующее:
- Вы установили SVN и Tortoise SVN? Если нет, Google и сделайте это сейчас.
- Перейдите в папку SVN, где у вас могут быть другие репозитории (сокращение от репозитория) (или если вы создаете один из них с нуля, выберите диск с местом C, D-диск и т.д. Или сетевой путь).
- Создайте новую папку для хранения нового репозитория. Назовите его тем же именем, что и название вашего проекта
- Щелкните правой кнопкой мыши папку и выберите Tortoise SVN → Создать репозиторий здесь
- Скажите "да", чтобы создать структуру папок
- Нажмите "ОК". Вы должны увидеть новый значок, похожий на "волну" рядом с вашей новой папкой/репо
- Щелкните правой кнопкой мыши новое репо и выберите SVN Repo Browser
- Щелкните правой кнопкой мыши 'trunk'
- Выберите ADD Folder... и укажите на свою структуру папок вашего проекта в процессе разработки.
- Нажмите "ОК", а SVN добавит вашу структуру папок. Будьте терпеливы! Похоже, SVN разбился/замерз. Не волнуйся. Он делает свою работу.
Готово!
Ответ 6
3 шага:
- Откройте "Репо-браузер" (используйте ссылку родительской папки yr).
- Щелкните правой кнопкой мыши "Добавить папку".
- Перейдите в свою папку.
![enter image description here]()
Ответ 7
Давай попробуем.. у меня работает..
svn add * --force