基本上我希望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中獲取特定存儲庫的最新更改