我正在使用SVN的項目。與svn log -l 10
,我可以得到最後10個提交到這個文件夾,與修訂ID,日誌消息等。是否有任何SVN命令,可以讓我在命令行上打印每個變更集的所有差異?我想做一些grepping/etc。與最後的X差異?打印最近10/20/... svn日誌消息與差異
13
A
回答
21
在SVN V1.7,還有,您可以用svn log
使用對於舊版本(這可能是你的情況下),你將不得不做一些腳本到
--diff : produce diff output
--diff-cmd ARG : use ARG as diff command
選項提供修訂到svn diff
並獲得輸出
1
假設您使用的是Linux,請使用以下腳本。保存它像svn-diffs.sh。 然後運行
sh svn-diffs.sh 10
這增加了顯示差異內容的文件進行新創建的diff /目錄下。這樣,你可以在不用擔心後面的延遲的情況下通過。這在我的測試中工作。 您可以分別通過diffs/dir下的文件來獲取彩色輸出。
#!/bin/bash
# Author - Kasun Gajasinghe
HEAD="HEAD"
limit=${1}
[[ -z "$1" ]] && limit=10
revisions=$(svn log -l $limit | grep -r "r[0-9][0-9]*\w" -o | grep -r "[0-9][0-9]*" -o)
mkdir diffs
echo $revisions > diffs/revisions.log
for revision in ${revisions}
do
# svn diff -r $revision:${HEAD} } | grep -ri "SEARCHME" || exit 1
diff=$(svn diff -r $revision:${HEAD})
echo "$diff" > diffs/diffs-$revision-$HEAD.log
echo "=======================" >> diffs/diffs-$revision-$HEAD.log
HEAD=$revision
done
grep -ri "searchme" diffs/
2
對於老SVN,你可以使用函數:
svn-log-diff()
{
for c in `svn log "[email protected]" | grep '^r' | cut -f1 -d ' ' | sed s/r/-c/`; do
svn diff --force $c || break
done
}
相關問題
- 1. Python的SVN - 輸出日誌消息
- 2. SVN信息:最近更改日期?
- 3. SVN:用日誌消息創建補丁
- 4. 在svn中不需要日誌消息
- 5. 日誌SOAP消息
- 6. 日誌消息
- 7. Python日誌消息「亂序」
- 8. svn最近提交併最終分支的差異
- 9. 打印機日誌擴展信息
- 10. 如何只打印給定記錄器的日誌消息?
- 11. 如何告訴spring使用log4j2打印日誌消息?
- 12. Python的 - 排序日誌消息通過級打印
- 13. Ruby on Rails - 如何以彩色打印日誌消息
- 14. 我的Android Studio控制檯不打印日誌消息
- 15. Android:ddms中的日誌消息正在多次打印?
- 16. 有沒有辦法阻止日誌消息被打印到LogCat?
- 17. 如何定製TFS2010構建打印日誌中的消息
- 18. Robolectric打印日誌或控制檯消息
- 19. 日誌將不會打印Android Studio中的某些消息
- 20. 如何在cmd中使scrapy打印日誌消息?
- 21. 無法打印/火花API日誌消息
- 22. WCF日誌消息
- 23. DB2打印日誌
- 24. Laravel打印日誌
- 25. 日誌和調試消息
- 26. 在Python中閱讀和打印與USB有關的變種日誌消息
- 27. java中的打印異常消息
- 28. Log4Net消息日誌
- 29. Cronjob日誌消息
- 30. 組日誌消息
酷!尚未發佈,並且不在我的ubuntu軟件包管理器上提供,但很高興知道它即將推出。 – Rory
@Rory - 他們可以在這裏,但是是預發佈。我使用1.7。 http://subversion.apache.org/packages.html#pre-release – manojlds