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

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

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

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

6 ответов


Допустим, у меня есть код в каталоге ~/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

Если я правильно понял, в вашем случае, я предлагаю попробовать использовать svn добавить поставить новую папку под версию см. здесь. Следующая добавит новую папку с файлами рекурсивно под контролем версий (если вы находитесь внутри допустимой рабочей копии):

svn add new_folder
svn commit -m "Add New folder to the project"

Если вы не находитесь в рабочей копии, создайте ее с помощью svn checkout, скопируйте new_folder там и выполните вышеуказанные шаги.

или

попробовать импорт СВН см. здесь; следующее создаст новую папку и загрузит файлы в репозиторий:

svn import -m "Import new folder to the project" new_folder \
        http://SVN_REPO/repos/trunk/new_folder

Также обратите внимание, что:

после импорта данных обратите внимание, что исходное дерево не находится под версией управление. Чтобы начать работать, вам все равно нужно svn checkout свежий рабочая копия дерева


Я не использую команды. Вы должны быть в состоянии сделать это с помощью GUI:

  • щелкните правой кнопкой мыши пустое место в папке Мои Документы, выберите TortoiseSVN > Repo-browser.
  • Enter http://subversion... (Ваш URL-путь к вашему серверу/каталогу Subversion, который вы сохраните) в качестве пути и выберите OK
  • щелкните правой кнопкой мыши корневой каталог в репо и выберите Добавить папку. Дайте ему название вашего проекта и создайте он.
  • щелкните правой кнопкой мыши папку проекта в репо-браузере и выберите оформить заказ. Каталог Checkout будет вашим . Выберите OK.
  • вы получите предупреждение о том, что папка не пуста. Скажи да оформить заказ/экспорт в эту папку - он не будет перезаписывать файлы проекта.
  • открыть папку проекта. Вы увидите вопросительные знаки в папках, которые связаны с вашим VS project, которые еще не добавлено в Subversion. Выберите эти папки с помощью Ctrl + Click, затем щелкните правой кнопкой мыши один из выбранных элементов и выберите TortoiseSVN > Добавить
  • выберите OK в приглашении
  • ваши файлы следует добавить. Выберите OK на Добавить готово! диалоговое окно
  • щелкните правой кнопкой мыши в пустой области папки и выберите Обновить. Вы увидите значки " + " в папках/файлах, теперь
  • щелкните правой кнопкой мыши пустую область в папку еще раз и выберите SVN Commit
  • добавьте сообщение о том, что вы совершаете, и нажмите OK

Если намерение добавляет локальную / рабочую копию в SVN, я использовал для этого следующий способ.

Примечание: я использую в TortoiseSVN client и эти шаги предполагают, что у вас уже установлен клиент TortoiseSVN.

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

в Windows 7 я сделал это:

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

готово!


3 шага:

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

enter image description here