A.SVN包括的文件
svn
一个命令行式的客户端程序;
svnversion
报告本地工作副本状态(用当前档案的修订版本号表示)的程序;
svnadmin
用来创建、tweaking或者是修复仓库的工具;
svndumpfilter
A program for filtering Subversion repository dumpfile format streams.
mod_dav_svn
Apache 服务器的一个插件模块,用来使其他人可以通过网络访问这个仓库;
svnserve
一个定制的、独立的 Subversion 服务程序。可作为一个驻留进程运行或者是由 SSH 调用。是
使仓库可以被别人通过网络访问的另一种方法。
B.SVN的revision
7.revision
1)可以用--revision或-r来指定修订版关键字
关键字包括:
HEAD
BASE
COMMITTED
PREV
eg.$ svn diff --revision PREV:COMMITTED foo.c
2)可以指定修订版日期
eg.
$ svn checkout --revision {2002-02-17}
$ svn checkout --revision {2/17/02}
$ svn checkout --revision {"17 Feb"}
$ svn checkout --revision {"17 Feb 2002"}
$ svn checkout --revision {"17 Feb 2002 15:30"}
$ svn checkout --revision {"17 Feb 2002 15:30:12 GMT"}
$ svn checkout --revision {"10 days ago"}
$ svn checkout --revision {"last week"}
$ svn checkout --revision {"yesterday"}
$ svn log --revision {11/28/2002}
C.常用操作
1.创建仓库
$ svnadmin create /path/to/repos
2.导入数据到仓库中
$ svn import /tmp/project file:///path/to/repos -m "initial import"
3.check out数据
$ svn checkout file:///path/to/repos/trunk project
4.基本工作流程
更新工作副本 svn update
产生更改 svn add;svn delete;svn copy;svn move;
查看更改 svn status;svn diff;svn revert
合并其他人的改动 svn merge;svn resolved
提交改动 svn commit
6.使用 update 命令来请求 Subversion 更新本地工作副本
$ svn update
8.文件操作
需要让svn知道,所以使用svn的命令而不是系统的命令
svn copy
svn move
svn add
svn delete
10.查看改动
$ svn status stuff/fish.c
$ svn status --verbose //显示所有工作目录文件的信息
11.比较工作副本
svn diff //将你的副本与BASE进行比较
也可以这样:
$ svn diff > patchfile
12.恢复
svn revert //恢复成BASE
13.提交更改
使用svn commit命令,你需要提供一个记录信息。
$svn commit --message "my messages."
$svn commit --file logmsg
注意:如果你没有指定 --message 或 --file, 那么 Subversion 自动调用你的editor 。
前提是你设置了SVN_EDITOR或EDITOR环境变量。否则会报下面的错误:
svn: 没有一个 SVN_EDITOR,VISUAL 或 EDITOR 环境变数被设定,执行时期的设定中也没有 'editor-cmd' 选项
设置环境变量:在win环境下,可以设置SVN_EDITOR为%SystemRoot%\system32\notepad.exe
svn co -r901 https://ltfat.svn.sourceforge.net/svnroot/ltfat ltfat