<?xml version="1.0" encoding="UTF-8"?>
<commit>
  <added type="array"/>
  <modified type="array">
    <modified>
      <diff>@@ -28,12 +28,15 @@ changes to instance methods.  The API is likely to change drastically.
 This is likely to change a bunch, but for the moment:
   ruby_diff old_file new_file
   
-Or for git repositories, etc.
+For git repositories, etc.
   ruby_diff --git HEAD --git-wd
   
 Compare three different release tags.
   ruby_diff --git v0.1 --git v0.2 --git v0.3
-  
+
+For subversion repositories
+  ruby_diff --svn http://project.svnserver.org/lib --svn BASE:lib
+
 See help for more information.
 
 == Contact</diff>
      <filename>README.txt</filename>
    </modified>
    <modified>
      <diff>@@ -27,10 +27,7 @@ feeder_mapping = {
 feeders = []
 
 opts = OptionParser.new   
-opts.banner = &quot;Usage: ruby_diff.rb [options]&quot;
-
-opts.separator &quot;&quot;
-opts.separator &quot;Specific options:&quot;
+opts.banner = &quot;Usage: ruby_diff.rb [options] sources&quot;
 
 opts.define_head &lt;&lt;-HEAD
 
@@ -40,17 +37,10 @@ ruby_diff --git HEAD --git-wd ./
 
 Changes between two sets of files:
 ruby_diff --file old_dir --file new_dir
-
 HEAD
 
-opts.on('--sexp', &quot;Show the s expressions for each input (mostly for debugging)&quot;){ 
-  @options[:sexp] = true 
-}
-
-opts.on('--verbose', &quot;Shows more information while processing files&quot;){ 
-  @options[:verbose] = true 
-}
-
+opts.separator &quot;&quot;
+opts.separator &quot;Code sources:&quot;
 opts.on('--git PATH', &quot;Use a git repository as a code source&quot;){|path| 
   feeders &lt;&lt; feeder_mapping[:git].new(path) 
 }
@@ -67,6 +57,17 @@ opts.on('--file PATH', &quot;Use a file system path as a code source&quot;){|path|
   feeders &lt;&lt; feeder_mapping[:file].new(path) 
 }
 
+
+opts.separator &quot;&quot;
+opts.separator &quot;Options:&quot;
+opts.on('--sexp', &quot;Show the s expressions for each input (mostly for debugging)&quot;){ 
+  @options[:sexp] = true 
+}
+
+opts.on('--verbose', &quot;Shows more information while processing files&quot;){ 
+  @options[:verbose] = true 
+}
+
 opts.on_tail('-v', '--version')    { puts &quot;ruby_diff #{RubyDiff::VERSION}&quot; ; exit }
 opts.on_tail('-h', '--help')       { puts opts; exit }
 </diff>
      <filename>bin/ruby_diff</filename>
    </modified>
    <modified>
      <diff>@@ -124,7 +124,7 @@ class StructureProcessor &lt; SexpProcessor
   
   def process_class(exp)
     name = exp.shift
-    super_class = exp.shift #?
+    super_class = exp.shift
     body = exp.shift
     
     record ClassCode.new(name, self.scope, body) do</diff>
      <filename>lib/ruby_diff/structure_processor.rb</filename>
    </modified>
    <modified>
      <diff>@@ -2,8 +2,8 @@
 # run over.  FileFeeder reads them from the file system.
 #
 # Example Usage:
-#  ruby_diff --file old_version.rb --file new_version.rb
-#  ruby_diff --file old_dir/ --file new_dir
+#  ruby_diff --svn PREV:file.rb --svn new_version.rb
+#  ruby_diff --svn http://project.server.org/lib --svn .
 class SVNFeeder
   attr_accessor :files
   attr_accessor :path
@@ -14,10 +14,24 @@ class SVNFeeder
   #   --file [PATH]
   def initialize(path)
     @path = path
+    
+    # TODO: Add support for SVN date format
+    if @path =~ /^(\d+)|HEAD|BASE|COMMITTED|PREV\:/
+      parts = path.split(&quot;:&quot;,2)
+      svn_path = parts.pop
+      rev = parts.shift
+    else
+      svn_path = @path
+      rev = nil
+    end
+    
+    @svn_options = (rev ? &quot;-r #{rev} &quot; : &quot; &quot;)+svn_path
+    
     @file_pattern = &quot;**/*.rb&quot;
 
     @files = []
-    svn(&quot;ls -R #{@path}&quot;).each_line do |file|
+    
+    svn(&quot;ls -R #{@svn_options}&quot;).each_line do |file|
       file.chomp!
       @files &lt;&lt; file if File.fnmatch(@file_pattern, file)
     end
@@ -25,7 +39,7 @@ class SVNFeeder
     
   def each
     @files.each do |file|
-      cat_path = File.join(@path, file)
+      cat_path = File.join(@svn_options, file)
       yield(svn(&quot;cat #{cat_path}&quot;), file)
     end
   end</diff>
      <filename>lib/ruby_diff/svn_feeder.rb</filename>
    </modified>
  </modified>
  <removed type="array"/>
  <parents type="array">
    <parent>
      <id>fd42d12819c8b344370096d930c43eec5c84ae73</id>
    </parent>
  </parents>
  <author>
    <name>Adam Sanderson</name>
    <email>netghost@gmail.com</email>
  </author>
  <url>http://github.com/adamsanderson/ruby_diff/commit/3398765a3c6cd4a1f6ef6e36948f162e2ee6a3a6</url>
  <id>3398765a3c6cd4a1f6ef6e36948f162e2ee6a3a6</id>
  <committed-date>2008-06-11T00:14:32-07:00</committed-date>
  <authored-date>2008-06-11T00:14:32-07:00</authored-date>
  <message>Added support for SVN revisions</message>
  <tree>4dff8684b60bbb48dcd8bd16491e18f8e534e68f</tree>
  <committer>
    <name>Adam Sanderson</name>
    <email>netghost@gmail.com</email>
  </committer>
</commit>
