基本上我希望svn status -u仅显示由特定用户更改的文件,因为我只能更新这些文件。如何查看由特定用户完成的SVN存储库中的更改?
2
A
回答
0
参考下面的例子中,使用svn log command与用户名, 'jainendra':
svn log | sed -n '/jainendra/,/-----$/ p'
这里sed的是Linux命令。
0
尝试使用
svn log --username <username>
命令
此外,您还可以添加--limit ARG所以你没有得到你的屏幕充满提交。当为用户名输入svn时,这是你无法轻易实现的。
svn log --username ankit --limit 2
0
您需要解析的svn log
(或svn status
)输出只搜索该用户的条目。
如果使用svn log --xml
,可以执行对结果的XPath查询或应用XSLT来执行此过滤,捕捉所有<logentry>
节点用含有所需的用户名一<author>
节点。
2
这种类型的分析/报告问题在PowerShell中相当简单(当然只有Windows)。这个主力开始SVN的日志数据转换为PowerShell的对象:
Function Get-SvnLogData()
{
([xml](svn log -v --xml)).log.logentry | % {
$nestedEntry = $_
$_.paths.path | % {
$path = $_
$nestedEntry | Select-Object -Property `
Author, `
@{n='Revision'; e={([int]$_.Revision)}}, `
@{n='Date'; e={Get-Date $_.Date }}, `
@{n='Action'; e={$path.action }}, `
@{n='Path'; e={$path.InnerText }}`
}
}
}
一旦记录转换为对象,PowerShell的cmdlet的原生提供了无数的方式来整理数据。以下是解决手头问题的几种可能性:
问题1:每个文件何时被作者x触摸?
显示特定作者提交的文件; 文件可能会多次出现(包括每次作者触及的文件)。
Get-SvnLogData |
where { $_.Author -eq 'smith' } |
select Revision,Date,Path |
sort -property `
@{ Expression="Path"; Descending=$false }, `
@{ Expression="Revision"; Descending=$true } |
Format-Table -AutoSize
# To sort by latest changes instead of by file,
# swap Path and Revision properties in sort statement.
问题2:当是最后一次每个文件由作者X感动(顺带多少次在碰)?
显示特定作者提交的文件;每个文件只出现一次,触摸次数和上次触摸日期均为 。
Get-SvnLogData |
where { $_.Author -eq 'smith' } |
group Path |
select `
@{ n='Last Touched'; e= {@($_.group | sort date -Descending)[0].date} }, `
@{ n='NumberOfTimesTouched'; e={$_.count} }, `
name |
sort name | Format-Table -AutoSize
# To sort by latest changes instead of by file change last line to:
# sort date | Format-Table -AutoSize
相关问题
- 1. 如何更改存储库的用户?
- 2. 更改Jenkins中的SVN URL存储库
- 3. 更改SVN存储库
- 4. 已更改svn存储库
- 5. 如何避免检查SVN存储库的本地更改?
- 6. 如何在检出之前查看存储库端的更改?
- 7. 如何查看本地存储更改
- 8. 如何更改Tortoise SVN中的存储库版本号?
- 9. 如何仅导出SVN存储库中的上次更改?
- 10. 如何更改SVN存储库中的类型?
- 11. 如何更改存储库中的外部svn
- 12. 使用tortoise svn查看存储库中的注释
- 13. 如何使用SVN中的新存储库URL更新签出的存储库?
- 14. 如何查看存储库?
- 15. 当存储库中的特定文件发生更改时SVN通知
- 16. 如何查看数据库中的特定用户数据?
- 17. 如何使用rugged来检查我的git存储库中是否存在未完成的更改?
- 18. 查看svn分支中的更改
- 19. 更改SVN存储库链接
- 20. 如何更改最初导入到SVN存储库的文件?
- 21. 如何更改访问SVN存储库的默认作者?
- 22. 如何查看GitHub上的存储库
- 23. 更新我的git分支,然后是git-svn中的svn存储库更改
- 24. 使用SVN完全删除存储库
- 25. 如何查看由NHibernate完成的对db的SQL调用?
- 26. 如何更改访问数据库,查看用户的ScadaLTS
- 27. svn和git:查看一个用户的所有更改
- 28. 如何更改我的存储库分叉的GitHub存储库?
- 29. 如何监视特定文件以查看Mercurial中的更改?
- 30. 从git中获取特定存储库的最新更改