You need to enable JavaScript to run this app.
最新活动
大模型
产品
解决方案
定价
生态与合作
支持与服务
开发者
了解我们

如何查看SVN中分支创建后的代码差异及特定提交对比

如何查看SVN分支自创建以来的代码变更差异

嘿,我明白你的需求了——你已经用svn log --stop-on-copy拿到了分支的提交日志,但现在想要的是这些提交对应的代码差异,而不是日志条目。针对你的场景(从Repo2018创建Repo2018x后,Repo2018x有C、D两个提交),这里有两种实用的方法:

方法一:直接查看分支创建到当前的所有差异

首先,你需要先找到Repo2018x分支创建时的版本号。用这条命令可以快速获取:

svn log --stop-on-copy --quiet $REPOSITORY/branches/Repo2018x

这条命令会只输出分支创建的那条日志,第一行的rXXX就是分支创建时的版本号(比如假设是r123)。

接下来,用svn diff对比创建版本和分支当前的最新版本(HEAD),就能得到C、D两个提交带来的所有代码变化:

svn diff -r r123:HEAD $REPOSITORY/branches/Repo2018x

如果你想一步到位,也可以用命令替换自动获取创建版本:

svn diff -r $(svn log --stop-on-copy --quiet $REPOSITORY/branches/Repo2018x | head -n1 | awk '{print $1}'):HEAD $REPOSITORY/branches/Repo2018x

方法二:查看每个提交的单独差异

如果想分别查看C和D各自的代码变化,可以先通过日志拿到每个提交的版本号:

svn log --verbose --stop-on-copy $REPOSITORY/branches/Repo2018x

假设日志里显示C是r124,D是r126,分支创建版本是r123,那么:

  • 查看提交C的差异:
svn diff -r r123:r124 $REPOSITORY/branches/Repo2018x
  • 查看提交D的差异:
svn diff -r r124:r126 $REPOSITORY/branches/Repo2018x

这样就能精准获取你需要的代码变更内容啦!

内容的提问来源于stack exchange,提问作者Saurav Sahu

火山引擎 最新活动