
Examples
--------

Setting Files Properties
========================

basic usage... a script to ensure all non binary files have svn:keywords set.

  >>> import transaction
  >>> from ore.svn import SubversionContext
  >>> from ore.svn.tree import fileIterator
 
open a subversion context against the root of the svn repository

  >>> ctx = SubversionContext('/var/lib/svn/repos')

get the root directory, supports the dictionary protocol

  >>> root = ctx.root

iterate through all files in the tree, and tag the rest

  >>> for file_node in fileIterator( root ):
  ...     if file_node.binary:
  ...         continue
  ...    if not 'svn:keywords' in node.properties:
  ...         node.properties['svn:keywords'] = "Id"

commit our changes

  >>> transaction.commit()

Find Changed Tags
=================

find tags that have been modified after their creation.

  >>> for tag in ctx['myproject']['tags'].directories:
  ...   	logs = tag.getLogEntries( changed_paths=True, strict_history=True  )
  ...	# if the only revision is the tag creation, then it hasn't been modified
  ...    if len(logs) == 1: 
  ...        continue
  ...	  
  ...	for log in logs[1:]:
  ...		print "Tag Modified After Creation - by %s on %s in rev %s"%( log.author, log.date, log.revision)		
