svn import 명령어를 사용하여 새로운 디렉토리나 파일을 SVN 저장소에 강제로 추가할 수 있습니다. 이 명령어는 일반적으로 로컬 파일 시스템의 파일이나 디렉토리를 SVN 저장소에 추가할 때 사용됩니다.
기본적인 사용법은 다음과 같습니다
svn import [로컬 디렉토리 경로] [SVN 저장소 URL] -m "커밋 메시지"
여기서 [로컬 디렉토리 경로]는 추가할 로컬 디렉토리의 경로이고, [SVN 저장소 URL]은 추가할 위치의 SVN 저장소 경로입니다. -m 옵션은 커밋 메시지를 지정하는 옵션입니다.
그러나 svn import는 이미 존재하는 디렉토리나 파일을 추가하는 것을 허용하지 않습니다. 따라서 "강제로" 추가하는 것은 기본 기능이 아니며, 일반적으로 필요하지 않습니다.
만약 이미 존재하는 디렉토리나 파일을 추가해야 하는 상황이라면, 먼저 해당 디렉토리나 파일을 삭제한 후 다시 svn add 명령어를 사용하여 추가해야 합니다. 이렇게 하면 SVN에서 강제로 추가하는 것이 아니라 일반적인 방법으로 파일이나 디렉토리를 추가할 수 있습니다.
$ svn help import
import: Commit an unversioned file or tree into the repository.
usage: import [PATH] URL
Recursively commit a copy of PATH to URL.
If PATH is omitted '.' is assumed.
Parent directories are created as necessary in the repository.
If PATH is a directory, the contents of the directory are added
directly under URL.
Unversionable items such as device files and pipes are ignored
if --force is specified.
Valid options:
-q [--quiet] : print nothing, or only summary information
-N [--non-recursive] : obsolete; try --depth=files or --depth=immediates
--depth ARG : limit operation by depth ARG ('empty', 'files',
'immediates', or 'infinity')
--auto-props : enable automatic properties
--force : force operation to run
--no-auto-props : disable automatic properties
-m [--message] ARG : specify log message ARG
-F [--file] ARG : read log message from file ARG
--force-log : force validity of log message source
--editor-cmd ARG : use ARG as external editor
--encoding ARG : treat value as being in charset encoding ARG
--with-revprop ARG : set revision property ARG in new revision
using the name[=value] format
--no-ignore : disregard default and svn:ignore property ignores
Global options:
--username ARG : specify a username ARG
--password ARG : specify a password ARG
--no-auth-cache : do not cache authentication tokens
--non-interactive : do no interactive prompting
--trust-server-cert : accept SSL server certificates from unknown
certificate authorities without prompting (but only
with '--non-interactive')
--config-dir ARG : read user configuration files from directory ARG
--config-option ARG : set user configuration option in the format:
FILE:SECTION:OPTION=[VALUE]
For example:
servers:global:http-library=serf
$
파일하나를 Import 할경우
$ svn import file.txt http://svn.example.com/repo/trunk/file.txt
쉘에서 사용자와 비밀번호를 지정해야 하는 경우
$ svn import --non-interactive --username <username> --password <password> \
-m "Comment" /path/to/file path/to/svn/repo/filename
-N 플래그를 사용하여 비재귀적으로 코드를 체크아웃 할경우, 모든 하위 디렉터리를 체크아웃하지는 않으며 파일 하나를 추가하려는 경우 사용할수 있습니다.
$ svn co -N http://svn.example.com/repo/trunk