我对 CentOS 7、svn 1.7.14 上的本地最新 repo 做了一些更改。
运行后svn diff
发现有变化。
不确定这是否与此有很大关系,但过了一会儿,我转移svn copy
到了一个新的分支。
然后我做出了改变。
现在运行svn status
显示更改作为旁边带有 M 的文件,但svn diff
不显示任何内容,即使我指定了带有 M 的精确文件。
这是正确的行为吗?我期望它能显示差异...
更新
我也通过 重新安装了 subversion yum reinstall
,结果没有什么不同。
更新 2
我做了第二次更改(第一次更改是使用sed
,这次使用vim
),现在 diff 只显示该更改,好像第一次更改是起点。但我从未提交过第一次更改——如果我转到在线仓库查看器,我可以看到最新修订版显示在两次更改之前。这个新diff
输出显示rev 609
vs working copy
,但609
在查看器中是最新的。我如何获得609
与在线版本不同的版本?
更新 3
即使svn up
显示At revision 609
,svn log --limit 2
也显示 revs607
和605
。我的本地仓库是否损坏?如果是这样,则在成功签出后不久就发生了这种情况……或者这与svn copy
? 有关svn info
,显示原始的trunk
,而不是我复制到的分支……
答案1
我已将grep
结果导入sed
,但grep
语法不正确,用--exclude-dir='*/.svn'
而不是--exclude-dir='.svn'
。因此目录中也发生了更改.svn
,从而破坏了存储库。