关于SVN常用命令之import

来源:互联网 发布:北京银行网银mac版 编辑:程序博客网 时间:2024/05/01 23:15


关于import命令:



常见的有两种方法可以将新文件引入Subversion版本库:svn import和svn add


svn import是将未版本化的文件导入版本库中的最快方法,它会根据需要创建中介目录。

svn import不需要一个工作拷贝,你的文件会直接提交到版本库,这通常用在你希望将一组文件加入到Subversion版本库时。


例1:
本地目录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得到一个干净的目录树工作拷贝。


例2:
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.csdn.net/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



0 0
原创粉丝点击