哪个svn命令将列出分支上修改的所有文件?

哪个svn命令将列出分支上修改的所有文件?,svn,Svn,在svn中,我创建了一个分支,比如22334修订版。然后对分支进行了提交 如何获得分支上更改的所有文件的列表,与主干上的文件进行比较?我不想看到在创建分支到“现在”之间主干上更改的文件。我想这样做可以: svn diff -r 22334:HEAD --summarize <url of the branch> svn差异-r 22334:标题——总结 您还可以使用status命令和-u选项快速获取已更改文件的列表,如果您只需要这些文件的话 svn status -u 这将显示文

在svn中,我创建了一个分支,比如22334修订版。然后对分支进行了提交


如何获得分支上更改的所有文件的列表,与主干上的文件进行比较?我不想看到在创建分支到“现在”之间主干上更改的文件。我想这样做可以:

svn diff -r 22334:HEAD --summarize <url of the branch>
svn差异-r 22334:标题——总结

您还可以使用status命令和-u选项快速获取已更改文件的列表,如果您只需要这些文件的话

svn status -u
这将显示文件在当前代码库中的版本与存储库中的最新版本。我只在实际希望看到文件本身的差异时才使用diff


这里有一个关于svn命令的很好的教程,它解释了许多常见的场景:

-u选项将显示,如果在编译过程中添加了对象文件,则将包括这些文件

所以,为了克服这个问题,你可以这样使用

svn status -u | grep -v '\?' 

这将仅列出已修改的文件:

svn status -u | grep M

可以使用以下命令:

svn status -q
根据:

使用--quiet(-q),它只打印本地修改项目的摘要信息。


警告:此命令的输出仅显示您的修改。因此,我建议执行
svn-up
以获取文件的最新版本,然后使用
svn-status-q
获取已修改的文件

svn log-q-v
显示路径并隐藏注释。所有路径都缩进,因此可以搜索以空格开头的行。然后通过管道进行
cut
sort
清理:

svn日志--复制时停止-q-v | grep'^[:space:]'| cut-c6-| sort-u


这将获取自分支点起分支上提到的所有路径。注意,它将列出已删除和已添加的文件以及已修改的文件。我只是用它从一个新的开发人员那里得到了一些我应该担心的东西,比如在一个稍微混乱的分支上进行评论。

谢谢。我甚至不知道我的分支是什么修订版,所以我使用
svn log | tail
来获得最小的修订号。运行此命令以获得所有更改的摘要后,如果您想查看您在分支上所做的每个更改,您可以使用
svn diff-r 22334
(注意,没有指定头部的差异)。这将差异到本地工作副本,并允许您在差异应用程序中对其进行更改。
svn status
将仅显示本地修改。OP正在寻找如何查看提交到其分支的所有文件更改,因为它是从trunk创建的。svn status仅显示本地工作区修改。这并不是回答关于分支创建后所有更改的原始问题。以及名称中包含
M
的文件vn status-u | grep^MI use status-u | grep“M”我经常回到这个问题,最有用的答案是从@AndrewMedico删除的一个,用
svn日志
:-d简短但甜蜜的回答。@maskarih完美的回答!
svn status -q