Для хранения сценариев, которые я использую из командной строки, которую я создаю Command Line Scripts
каталог под Программными файлами и добавляю его к переменной окружения PATH. Я использую следующий пакетный файл для списка и редактирования тех сценариев:
@echo off
setlocal
set UTILPATH=C:\Program Files\System Tools\Command Line Utilities
if not "x%1"=="x" (
start "" "notepad" "%UTILPATH%\%1.bat"
) else (
dir /b "%UTILPATH%" | grep -v com.bat | grep -P "(exe|bat|cmd)" | sed "s/\.\(exe\|bat\|cmd\)//"
echo.
)
(отмечают, что фильтрация списка каталогов зависит от некоторых команд Unix, которые я установил через [1 115] Cygwin)
я даю ему имя com.bat, (короткий для команды) тогда я могу:
com
в командной строке com script-name
в командной строке*, так же: com new-script-name
в командной строке* com com
*, Поскольку я выполняю Vista, я должен использовать поднятую командную строку, поскольку каталоги под Program Files
защищены. Для быстрого способа запустить поднятую командную строку, просто нажмите Win key
; тип cmd
; нажмите Ctrl+Shift+Enter
; и затем хит Alt+C
для подтверждения подсказки повышения. Шесть нажатий клавиш к поднятой командной строке! ([через] [4])
Запуска Один из сценариев я храню в моем Command Line Scripts
, каталог является сценарием, который выполняется, когда я вхожу в систему окон (через эти Task Scheduler
, тип Task
в меню "Пуск" Vista). Я использую тот сценарий для установки нескольких виртуальные диски использование команда subst к каталогам, к которым я часто получаю доступ или хочу быстрый способ получить доступ на командной строке или для [1 132] сокращающиеся пути в предупреждениях компилятора, журналах или выводе отладки.
Мой сценарий Запуска выглядит примерно так:
@setlocal
@set _MYDOCS_=%USERPROFILE%\Documents
@REM Note: first delete the drives so I can run script again
@REM to fix drives that failed to get mapped
subst /d W:
subst /d T:
subst /d S:
subst /d R:
subst /d N:
subst /d L:
subst /d H:
subst W: "%_MYDOCS_%\Work\SVN Working Copy\Website\trunk\www"
subst T: "%_MYDOCS_%\Work\SVN Working Copy\project 1\trunk"
subst S: "%_MYDOCS_%\Work\SVN Working Copy"
subst R: "%_MYDOCS_%\Work\SVN Working Copy\project 2\branches\12.50"
subst N: "%_MYDOCS_%\Work\SVN Working Copy\project 2\trunk"
subst L: "%_MYDOCS_%\Work\"
subst H: "%_MYDOCS_%\My Projects\Haslers.info\Working Copy"
Примечание, что subst может быть немного темпераментным и иногда диски, не становится созданным, и я должен выполнить сценарий запуска снова вручную.
На самом деле, есть опция «Экспорт». Если вы щелкните правой кнопкой мыши и перетащите папку с установленной черепахой, вы увидите параметр экспорта.
В КОРОТКОЙ: Используйте функцию «Экспорт», чтобы получить копии каталогов и файлов svn. ИЛИ Скопируйте папку, а затем вручную удалите из нее скрытые папки svn.
ОБЪЯСНЕНИЕ: Когда вы выполняете «Извлечение», Tortoise помещает в каждую извлеченную папку скрытую папку, в которой хранится «базовая версия» содержимого папки. Таким образом, он может обнаруживать изменения, внесенные вами в файлы в системе контроля версий. Чтобы увидеть эти скрытые папки, вам необходимо настроить проводник для отображения скрытых файлов и папок. Кроме того, таким образом черепаха может показывать вам значки состояния.
Есть еще один способ получить файлы из репозитория системы управления версиями. Это функция «Экспорт» . С помощью этой опции вы получаете последнюю версию файлов с сервера, но БЕЗ скрытых папок. Однако будьте осторожны, вы не сможете зафиксировать изменения в файлах, экспортированных через «Экспорт». (но вы можете добавить их как новые файлы, при необходимости)
Если вы просто хотите сделать копию файлов (но теряете возможность отслеживания SVN), я бы порекомендовал вам использовать функцию «Экспорт». Но, если у вас больше нет соединения с svn-сервером, вы можете вручную удалить все скрытые папки из скопированного каталога.
Вы можете просто выполнить экспорт svn (находится в svn-меню черепахи) папки. В противном случае вам придется зайти и удалить все немногое.
Если вы хотите просто удалить папки .svn из большого проекта, вы можете использовать мой сценарий, мой сценарий командной строки, основанный на расширении проводника Джона Галлоуэя :
:: unsvn 1.0 - By Casey Dunham (http://www.caseydunham.net) :: :: usage - unsvn folder :: :: Deletes all .svn folders under the specified folder. :: :: :: Based on a Windows command shell extension by John Galloway :: at http://weblogs.asp.net/jgalloway/archive/2007/02/24/shell-command-remove-svn-folders.aspx :::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: @echo off if /i "%1" == "" goto usage for /r %1 %%f in (.svn) do ( if exist %%f ( echo removing %%f rd /s /q %%f ) else ( echo.File %%f not found! goto done ) ) :usage echo unsvn 1.0 echo usage: unsvn folder echo. echo Deletes all .svn folders and files below the specified folder. :done
Просто сохраните приведенное выше как unsvn .bat, поместите его в свой путь и передайте в папку верхнего уровня, из которой вы хотите удалить все папки .svn.
Вам нужно будет удалить «скрытые» каталоги .svn под каждой папкой (конечно, после того, как вы скопируете каталог).
Это называется командой экспорта. Он попросит вас указать каталог, в котором разместить копию. Если вы выберете тот же каталог, что и ваш svn dir, он фактически полностью удалит данные svn.