该 SVN状态 和 SVN的diff命令来查看你在工作拷贝所做的更改至关重要。
svn status 修改概况
? item
文件,目录或符号链接item不受版本控制。
A item
预定加入到版本库的文件,目录或符号链的item。
C item
文件item 发生了冲突。从服务器收到的修改与工作副本的本地修改发生交迭(在更新期间不会被解决)。在您提交到版本库前,必须手工解决冲突。
D item
文件,目录或符号链item预定从版本库中删除。
M item
文件item的内容被修改了。
“G” 合并
“I” 忽略
“R” 替换
“X” 未纳入版本控制,但被外部定义所用
“?” 未纳入版本控制
“!” 该项目已遗失 (被非 svn 命令所删除) 或是不完整
“~” 版本控制下的项目与其它类型的项目重名
“L” 锁定
“S” 已切换
“K” 存在锁定标记
svn status /path/to/file
svn status -v
[root@YUM svn_project1]# svn status -v
4 4 root .
4 3 ? file
4 4 ? dir1
4 4 ? dir1/file2
[root@YUM svn_project1]# svn status -vu
* dir2/file
* dir2
* 4 3 ? file
4 4 ? dir1/file2
4 4 ? dir1
* 4 4 root .
版本的 6 状态
svn diff 修改详情
svn diff的输出与补丁程序兼容, 所以可以用 svn diff > xxx.patch ,然后 用patch 工具 和 xxx.patch文件 来打补丁
svn diff /path/to/file
将用 --diff-cmd 选定的 工具(/usr/bin/diff) 来比较 ,工具(/usr/bin/diff) 的参数 用 -x 指定
svn diff --diff-cmd /usr/bin/diff -x "-i" file
[root@YUM svn_project1]# svn diff file
Index: file
===================================================================
--- file (版本 6)
+++ file (工作副本)
@@ -1,3 +1,4 @@
2020年 03月 15日 星期日 22:48:48 CST
2020年 03月 16日 星期一 00:18:53 CST
2020年 03月 16日 星期一 00:58:43 CST
+2020年 03月 16日 星期一 02:56:23 CST
[root@YUM svn_project1]# svn diff --diff-cmd /usr/bin/diff -x "-i" file
Index: file
===================================================================
3a4
> 2020年 03月 16日 星期一 02:56:23 CST
[root@YUM svn_project1]#
- /root/learn_svn/svn_protocol/svn_project1
[root@YUM svn_project1]# svn diff
Index: file
===================================================================
--- file (版本 6)
+++ file (工作副本)
@@ -1,3 +1,4 @@
2020年 03月 15日 星期日 22:48:48 CST
2020年 03月 16日 星期一 00:18:53 CST
2020年 03月 16日 星期一 00:58:43 CST
+2020年 03月 16日 星期一 02:56:23 CST
[root@YUM svn_project1]# svn diff > patchfile
[root@YUM svn_project1]# cat patchfile
Index: file
===================================================================
--- file (版本 6)
+++ file (工作副本)
@@ -1,3 +1,4 @@
2020年 03月 15日 星期日 22:48:48 CST
2020年 03月 16日 星期一 00:18:53 CST
2020年 03月 16日 星期一 00:58:43 CST
+2020年 03月 16日 星期一 02:56:23 CST
-----------------------------------------------/root/learn_svn/file_protocol/svn_project1
[root@YUM svn_project1]# svn status
[root@YUM svn_project1]# patch < /root/learn_svn/svn_protocol/svn_project1/patchfile
patching file file
[root@YUM svn_project1]# svn status
M file
[root@YUM svn_project1]# svn diff file
Index: file
===================================================================
--- file (版本 6)
+++ file (工作副本)
@@ -1,3 +1,4 @@
2020年 03月 15日 星期日 22:48:48 CST
2020年 03月 16日 星期一 00:18:53 CST
2020年 03月 16日 星期一 00:58:43 CST
+2020年 03月 16日 星期一 02:56:23 CST
$ svn diff -r PREV:COMMITTED foo.c
#显示提交到foo.c的最后一次更改
$ svn log -r HEAD
#显示最新存储库提交的日志消息
$ svn diff -r HEAD
#比较您的工作副本(包括所有本地更改的内容)到
存储库中该树的最新版本
$ svn diff -r BASE:HEAD foo.c
#将foo.c 的未修改版本与
存储库中最新版本的foo.c比较
$ svn log -r BASE:HEAD
#显示自您
#以来的最新版本目录的所有提交日志#上次更新
$ svn update -r PREV foo.c
#倒退foo.c 的最新更改,减少foo.c的有效修订版
$ svn diff -r BASE:14 foo.c
#比较foo.c的未修改版本与foo.c
在修订版14中的显示方式