# Ruby path for SVN log XML -\> HTML

**URL:** <https://www.ruby-forum.com/t/ruby-path-for-svn-log-xml-html/74134>\
**Category:** Ruby\
**Created:** [February 27, 2006, 2:29pm UTC](https://www.ruby-forum.com/t/ruby-path-for-svn-log-xml-html/74134 "2006-02-27T14:29:13Z")\
**Posts on this page:** 7\
**Page:** 1

<div class="post-metadata">

**Author:** ![Bil\_K](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/b/848f3c/32.png) [@Bil\_K](https://www.ruby-forum.com/u/Bil_K)\
**Post date:** [February 27, 2006, 2:29pm UTC](https://www.ruby-forum.com/t/ruby-path-for-svn-log-xml-html/74134/1 "2006-02-27T14:29:13Z")

</div>

So what’s the Ruby way to go from

svn log --limit 40 --xml --verbose

to HTML?

Thanks,

---

<div class="post-metadata">

**Author:** ![Bil\_K](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/b/848f3c/32.png) [@Bil\_K](https://www.ruby-forum.com/u/Bil_K)\
**Post date:** [February 28, 2006, 1:25pm UTC](https://www.ruby-forum.com/t/ruby-path-for-svn-log-xml-html/74134/2 "2006-02-28T13:25:54Z")

</div>

Hi,

In [dtuulo$1rg$removed\_email\_address@domain.invalid](mailto:dtuulo$1rg$removed_email_address@domain.invalid)  
“Ruby path for SVN log XML → HTML” on Mon, 27 Feb 2006 22:28:34  
+0900,  
Bil K. [removed\_email\_address@domain.invalid](mailto:removed_email_address@domain.invalid) wrote:

> So what’s the Ruby way to go from
> 
> svn log --limit 40 --xml --verbose
> 
> to HTML?

Here is my answer.

A sample output is here:  
[http://pub.cozmixng.org/~kou/archives/svnlog2html-sample.html](http://pub.cozmixng.org/~kou/archives/svnlog2html-sample.html)

---

<div class="post-metadata">

**Author:** ![Bil\_K](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/b/848f3c/32.png) [@Bil\_K](https://www.ruby-forum.com/u/Bil_K)\
**Post date:** [March 1, 2006, 3:03am UTC](https://www.ruby-forum.com/t/ruby-path-for-svn-log-xml-html/74134/3 "2006-03-01T03:03:19Z")

</div>

Kouhei S. wrote:

> Hi,

Hello.

> Here is my answer.
> 
> A sample output is here:  
> [http://pub.cozmixng.org/~kou/archives/svnlog2html-sample.html](http://pub.cozmixng.org/~kou/archives/svnlog2html-sample.html)

Awesome, thanks.

BTW: I did end up using your commit-email.rb. Thanks!

Regards,

---

<div class="post-metadata">

**Author:** ![Bil\_K](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/b/848f3c/32.png) [@Bil\_K](https://www.ruby-forum.com/u/Bil_K)\
**Post date:** [March 1, 2006, 7:59pm UTC](https://www.ruby-forum.com/t/ruby-path-for-svn-log-xml-html/74134/4 "2006-03-01T19:59:19Z")

</div>

Kouhei S. wrote:

> Here is my answer.

Question: why isn’t this part of our commit-email.rb? Don’t  
you use it as part of your post-commit hook?

BTW: I got a nil String error from $PWD. Here’s my patch,

# Index: svnlog2html.rb

— svnlog2html.rb (revision 18105)  
+++ svnlog2html.rb (working copy)  
@@ -5,7 +5,7 @@

include ERB::Util

-path = File.expand\_path(ARGV.shift || $PWD)  
+path = File.expand\_path(ARGV.shift || ENV[‘PWD’])

html = \<\<-HEADER

 \<?xml version="1.0" encoding="utf-8"?\>

Regards,

---

<div class="post-metadata">

**Author:** ![Bil\_K](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/b/848f3c/32.png) [@Bil\_K](https://www.ruby-forum.com/u/Bil_K)\
**Post date:** [March 2, 2006, 12:58pm UTC](https://www.ruby-forum.com/t/ruby-path-for-svn-log-xml-html/74134/5 "2006-03-02T12:58:54Z")

</div>

Kouhei S. wrote:

> Hi,

Hello.

> I added the script to trunk Subversion repository as example:  
> [https://svn.collab.net/repos/svn/trunk/tools/examples/svnlog2html.rb](https://svn.collab.net/repos/svn/trunk/tools/examples/svnlog2html.rb)

Excellent, the world will thank you.

Are you hording any other svn gems?

My next project is to figure out how to check inbound  
files as part of a pre-commit hook … care to sketch  
that out?

> > BTW: I got a nil String error from $PWD. Here’s my patch,
> 
> Thanks. I used Dir.pwd instead of ENV[‘PWD’].

Ah, much better.

Thanks again,

---

<div class="post-metadata">

**Author:** ![Bil\_K](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/b/848f3c/32.png) [@Bil\_K](https://www.ruby-forum.com/u/Bil_K)\
**Post date:** [March 2, 2006, 2:58pm UTC](https://www.ruby-forum.com/t/ruby-path-for-svn-log-xml-html/74134/6 "2006-03-02T14:58:09Z")

</div>

Hi,

> Are you hording any other svn gems?

All of my gems are committed in Subversion repository:

- [https://svn.collab.net/repos/svn/trunk/tools/examples/svnlook.rb](https://svn.collab.net/repos/svn/trunk/tools/examples/svnlook.rb)
- [https://svn.collab.net/repos/svn/trunk/tools/examples/svnshell.rb](https://svn.collab.net/repos/svn/trunk/tools/examples/svnshell.rb)

And you have already seen scripts:

- [https://svn.collab.net/repos/svn/trunk/tools/examples/svnlog2html.rb](https://svn.collab.net/repos/svn/trunk/tools/examples/svnlog2html.rb)
- 

[https://svn.collab.net/repos/svn/trunk/tools/hook-scripts/commit-email.rb](https://svn.collab.net/repos/svn/trunk/tools/hook-scripts/commit-email.rb)

> My next project is to figure out how to check inbound  
> files as part of a pre-commit hook … care to sketch  
> that out?

I can’t show you any sample scripts without check condition  
details. But svnlook.rb may help you.

Thanks,

---

<div class="post-metadata">

**Author:** ![Bil\_K](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/b/848f3c/32.png) [@Bil\_K](https://www.ruby-forum.com/u/Bil_K)\
**Post date:** [March 2, 2006, 4:46am UTC](https://www.ruby-forum.com/t/ruby-path-for-svn-log-xml-html/74134/7 "2006-03-02T04:46:18Z")

</div>

Hi,

In [du4qkv$gi2$removed\_email\_address@domain.invalid](mailto:du4qkv$gi2$removed_email_address@domain.invalid)  
“Re: Ruby path for SVN log XML → HTML” on Thu, 2 Mar 2006 03:58:37  
+0900,  
Bil K. [removed\_email\_address@domain.invalid](mailto:removed_email_address@domain.invalid) wrote:

> Question: why isn’t this part of our commit-email.rb? Don’t  
> you use it as part of your post-commit hook?

No. I made the script only for you. 😉

I added the script to trunk Subversion repository as  
example:  
[https://svn.collab.net/repos/svn/trunk/tools/examples/svnlog2html.rb](https://svn.collab.net/repos/svn/trunk/tools/examples/svnlog2html.rb)

> BTW: I got a nil String error from $PWD. Here’s my patch,

Thanks. I used Dir.pwd instead of ENV[‘PWD’].

Regards,
