Как добавить существующую папку с файлами в SVN?

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

То, что я обычно делаю, это:

  1. svn co родительский каталог, где я хочу создать новую папку для хранения моего кода.
  2. svn mkdir, чтобы сделать каталог, в который я хочу поместить свой код.
  3. Скопируйте и вставьте мой код.
  4. svn commit.
  5. Удалите текущий каталог рабочего кода.
  6. Повторно создайте каталог рабочего кода, используя svn co.

Ответ 1

Скажем, у меня есть код в каталоге ~/local_dir/myNewApp, и я хочу поместить его под " https://svn.host/existing_path/myNewApp " (при этом можно игнорировать некоторые двоичные файлы, библиотеки поставщиков и т.д.).

  1. Создайте пустую папку в репозитории svn mkdir https://svn.host/existing_path/myNewApp
  2. Перейдите в родительский каталог проекта, cd ~/local_dir
  3. Проверьте пустую папку в локальной папке. Не бойтесь - файлы, которые вы локально не удаляете. svn co https://svn.host/existing_path/myNewApp. Если ваша папка имеет другое имя локально, чем в репозитории, вы должны указать ее как дополнительный аргумент.
  4. Вы можете видеть, что svn st теперь покажет все ваши файлы как ? , что означает, что они в настоящее время не контролируются контролем
  5. Выполните svn add файлы, которые вы хотите добавить в репозиторий, и добавить других в svn:ignore. Вы можете найти полезные опции с svn help add, например --parents или --depth empty, если вы хотите выборочно добавлять только некоторые файлы/папки.
  6. Зафиксировать 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.

  1. У меня есть проект (Test-4.2.2) в моем местном. Я хочу загрузить/добавить его в репозиторий SVN.
  2. Используя репо-браузер TortoiseSVN, я создал пустой каталог "Test-4.2.2",
  3. В моем локальном я переименовал существующий каталог "Test-4.2.2" в "Test-4.2.2.1" (временный)
  4. Оформить покупку пустого "Test-4.2.2" от SVN до локального
  5. Скопируйте все подкаталоги в разделе 4.2.2.1 в этот справочный каталог 4.2.2
  6. Теперь щелкните правой кнопкой мыши "Test-4.2.2" и зафиксируйте.
  7. Удалите временную папку "Test-4.2.2.1"

Ответ 5

В Windows 7 я сделал следующее:

  1. Вы установили SVN и Tortoise SVN? Если нет, Google и сделайте это сейчас.
  2. Перейдите в папку SVN, где у вас могут быть другие репозитории (сокращение от репозитория) (или если вы создаете один из них с нуля, выберите диск с местом C, D-диск и т.д. Или сетевой путь).
  3. Создайте новую папку для хранения нового репозитория. Назовите его тем же именем, что и название вашего проекта
  4. Щелкните правой кнопкой мыши папку и выберите Tortoise SVN → Создать репозиторий здесь
  5. Скажите "да", чтобы создать структуру папок
  6. Нажмите "ОК". Вы должны увидеть новый значок, похожий на "волну" рядом с вашей новой папкой/репо
  7. Щелкните правой кнопкой мыши новое репо и выберите SVN Repo Browser
  8. Щелкните правой кнопкой мыши 'trunk'
  9. Выберите ADD Folder... и укажите на свою структуру папок вашего проекта в процессе разработки.
  10. Нажмите "ОК", а SVN добавит вашу структуру папок. Будьте терпеливы! Похоже, SVN разбился/замерз. Не волнуйся. Он делает свою работу.

Готово!

Ответ 6

3 шага:

  • Откройте "Репо-браузер" (используйте ссылку родительской папки yr).
  • Щелкните правой кнопкой мыши "Добавить папку".
  • Перейдите в свою папку.

enter image description here

Ответ 7

Давай попробуем.. у меня работает..

svn add * --force