【问题标题】:Difference between Contents of two SVN Branches两个SVN分支内容的区别
【发布时间】:2016-04-08 01:23:20
【问题描述】:

我想比较两个 svn 分支 http://.../Br1http://.../Br2 以便脚本引用一个文本文件以获取要在分支中签入的文件名,并显示仅在 Br1 或 Br2 中给出缺失文件名的结果。我遇到了svn diff,但它没有帮助。然后我遇到了这些命令:

diff -rq dir1 dir2
diff <(cd folder1 && find . | sort) <(cd folder2 && find . | sort)
diff -r dir1 dir2 | grep dir1 | awk '{print $4}' > difference1.txt

但是所有这些脚本都可以在签出的 SVN 存储库上进行调整,我正在寻找一种在 http://svn_repo_link/ 上运行这些命令的方法以及一个可以引用文本文件以获取要签入 Br1 和 Br2 的文件名的脚本,然后提供 Br1 或 Br2 中缺少的文件的名称以及目录结构。

【问题讨论】:

  • 您尝试使用svn diff --summarize 吗?
  • @IvanZhakov 是的,我试过了,它提供了一个巨大的文件列表,但是我只想检查两个 svn 分支中是否存在相同的 java 文件,如果缺少任何文件,那么它给出该文件的名称。

标签: git bash shell svn scripting


【解决方案1】:

我认为运行 svn diff --summarize 和 grepping 输出应该会有所帮助:

svn diff --summarize http://.../Br1 and http://.../Br2 | grep "A   "

【讨论】:

  • 如果我们只想检查 *.java 文件,grep "" 应该是什么?
  • 我试过了,但我不知道如何读取结果,请你举个例子并详细说明如何读取输出。
  • svn diff http://svn.apache.org/repos/asf/subversion/branches/1.8.x http://svn.apache.org/repos/asf/subversion/branches/1.9.x --summarize | grep "^A .*\.java"
  • 我试过这个:svn diff http://172.16.1.57/CRM/MFS/Mobiquity/branches/Mobiquity_v4.8/ http://172.16.1.57/CRM/MFS/Mobiquity/branches/Mobiquity_v4.9/ --summarize | grep " .*\.java"得到这个结果:M http://172.16.1.57/CRM/MFS/Mobiquity/branches/Mobiquity_v4.8/Code/MavenCode/Root‌​Txn/somtel/src/main/java/com/mmoney/interfaces/Alcatel432UrlConnection.java I actually want to compare if java files present in v4.8 are also present in v4.9
猜你喜欢
  • 2013-04-11
  • 1970-01-01
  • 2016-09-11
  • 1970-01-01
  • 2014-02-01
  • 1970-01-01
  • 2010-11-25
  • 1970-01-01
  • 2012-01-29
相关资源
最近更新 更多