読者です 読者をやめる 読者になる 読者になる

c4se記:さっちゃんですよ☆

.。oO(さっちゃんですよヾ(〃l _ l)ノ゙☆)

.。oO(此のblogは、主に音樂考察Programmingに分類されますよ。ヾ(〃l _ l)ノ゙♬♪♡

音樂はSoundCloud等バラバラの場所に公開中です。申し訳ないがlinkをたどるなどして探してください。

考察は現在は主に此のblogで公表中です。

programmingは、ひろくみせるものはGitHubで、個人的なものはBitBucketで開発中です。

c4se

Subversionのlogメッセージを検索する svn-grep

Programming sh

gitであれば

git log --grep なにか

でできる。SVNには何も用意されてゐない。
以下の関数を .bashrc に書く。

function svn-grep() {
  TMP_ID=$(uuid -v4)
  cat << RUBY > /tmp/$TMP_ID
require 'nokogiri'
log = Nokogiri::XML STDIN.read
logentries = log.css('logentry').select{|logentry| logentry.css('msg').first.content.include?(ARGV[0]) }
system "svn log -v #{logentries.collect{|logentry| '-r' + logentry['revision'] }.join(' ')}"
RUBY
  svn log --xml | ruby /tmp/$TMP_ID $1
  rm /tmp/$TMP_ID
}

これは

svn-grep なにか

として使う。
SVNのlogをXML形式で吐く。検索し、revisionを指定してlogを吐きなおさせる。検索し、revisionを指定してlogを吐きなほさせる。
同じ仕組でRuby以外でも実装できる。