关于import命令:
常见的有两种方法可以将新文件引入Subversion版本库:svn import和svn add
svn import是将未版本化的文件导入版本库中的最快方法,它会根据需要创建中介目录。
svn import不需要一个工作拷贝,你的文件会直接提交到版本库,这通常用在你希望将一组文件加入到Subversion版本库时。
本地目录myproj导入到版本库中的trunk/misc,trunk/misc在导入之前不需要存在—svn import会递归的为你创建目录。
$ svn import -m "New import" myproj http://svn.red-bean.com/repos/trunk/misc
Adding myproj/sample.txt
…
Transmitting file data .........
Committed revision 16.
需要知道这样不会在版本库创建目录myproj,如果你希望这样,请在URL后添加myproj,命令如下:
$ svn import -m "New import" myproj http://svn.red-bean.com/repos/trunk/misc/myproj
Adding myproj/sample.txt
…
Transmitting file data .........
Committed revision 16.
注意:在导入之后,你会发现原先的目录树并没有纳入版本控制,为了开始工作,你还是要运行svn checkout得到一个干净的目录树工作拷贝。
1)首先,服务器管理员已经在SVN服务器上创建了项目版本库newrepos
$ svnadmin create /usr/local/svn/newrepos
2)然后,在客户端使用svn命令把本地文件导入到服务器上的项目版本库中
$ svn import mytree file:///usr/local/svn/newrepos/some/project -m "Initial import"
Adding mytree/foo.c
Adding mytree/bar.c
Adding mytree/subdir
Adding mytree/subdir/quux.h
Committed revision 1.
在上一个例子里,将会拷贝目录mytree到版本库的some/project下:
$ svn list file:///usr/local/svn/newrepos/some/project
bar.c
foo.c
subdir/
尽管Subversion的灵活性允许你自由布局版本库,但有一套推荐的方式,
创建一个trunk目录来保存开发的“主线”,一个branches目录存放分支拷贝,tags目录保存标签拷贝,例如:
$ svn list file:///usr/local/svn/repos
/trunk
/branches
/tags
查看更多关于import命令相关的使用可用下面命令: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.
..........................
这段是参考URL:http://blog.youkuaiyun.com/rheostat/article/details/7875365这篇文章的!
svn import-纳入版本控制
import: 将未纳入版本控制的文件或目录树提交到版本库。
用法: import [PATH] URL
递归地提交 PATH 的副本至 URL。
如果省略 PATH,则默认为 “.”。
父目录会根据需要在版本库内创建。
如果 PATH 是目录,则其下的内容直接加入到 URL 指定的位置内。
如果使用了 “--force”,那么不能纳入版本控制的项目,例如设备文件,管道等,会被忽略。
有效选项以及说明:
-q [--quiet] :不打印信息,或只打印概要信息
-N [--non-recursive] : 过时;尝试 --depth=files 或 --depth=immediates
--depth ARG : 受深度参数 ARG(“empty”,“files”,“immediates”,或“infinity”) 约束的操作
--auto-props :启用自动属性
--force :强制操作运行
--no-auto-props :关闭自动属性
-m [--message] ARG :指定日志信息ARG
-F [--file] ARG :从文件ARG读取日志信息
--force-log :强制校验日志信息资源
--editor-cmd ARG : 使用 ARG 作为外部编辑器
--encoding ARG :将ARG的值视为字符编码
--with-revprop ARG :在新版本设置版本属性 ARG
使用格式 name[=value]
--no-ignore : 忽略默认值和 svn:ignore 属性
全局选项:
--username ARG : 指定用户名称 ARG
--password ARG : 指定密码 ARG
--no-auth-cache : 不要缓存用户认证令牌
--non-interactive : 不要交互提示
--trust-server-cert : 不提示的接受未知的 SSL 服务器证书(只用于选项 “--non-interactive”)
--config-dir ARG : 从目录 ARG 读取用户配置文件
--config-option ARG : 以下属格式设置用户配置选项:
FILE:SECTION:OPTION=[VALUE]
例如:
servers:global:http-library=serf
1、这将本地目录myproj导入到版本库的trunk/misc,trunk/misc在导入之前不需要存在—svn import会递归的为你创建目录。
$ svn import -m “New import” myproj http://svn.red-bean.com/repos/trunk/misc
2、需要知道这样不会在版本库创建目录myproj,如果你希望这样,请在URL后添加myproj:
$ svn import -m “New import” myproj http://svn.red-bean.com/repos/trunk/misc/myproj也可以这样,在版本浏览器中先从svn上窗myproj目录,shell进入本地myproj目录,svn import -m "New import" ./ http://svn.red-bean.com/repos/trunk/misc/myproj