diff --git a/product/ERP5Subversion/SubversionClient.py b/product/ERP5Subversion/SubversionClient.py
index b1433b75b04aeeb7db8634e69d934d0e32fe390c..b37aa3e3332ca88401e54a251f3ccb84f2eb40ba 100644
--- a/product/ERP5Subversion/SubversionClient.py
+++ b/product/ERP5Subversion/SubversionClient.py
@@ -251,11 +251,15 @@ try:
       # Since plain Python classes are not convenient in Zope, convert the objects.
       return [Status(x) for x in self.client.status(path, **kw)]
     
-    def diff(self, path):
+    def diff(self, path, revision1, revision2):
       self._getPreferences()
       tmp = mktemp()
       os.system('mkdir -p %s'%tmp)
-      diff = self.client.diff(tmp_path=tmp, url_or_path=path, recurse=False)
+      if not revision1 or not revision2:
+        diff = self.client.diff(tmp_path=tmp, url_or_path=path, recurse=False)
+      else:
+        diff = self.client.diff(tmp_path=tmp, url_or_path=path, recurse=False, revision1=pysvn.Revision(pysvn.opt_revision_kind.number,revision1), revision2=pysvn.Revision(pysvn.opt_revision_kind.number,revision2))
+      # clean up temp dir
       os.system('rm -rf %s'%tmp)
       return diff
     
diff --git a/product/ERP5Subversion/Tool/SubversionTool.py b/product/ERP5Subversion/Tool/SubversionTool.py
index 92dd174f60077117c6663dd78fbe6e346e1114a3..dffb38081a58d801a5911dda1eaedd311ad61d04 100644
--- a/product/ERP5Subversion/Tool/SubversionTool.py
+++ b/product/ERP5Subversion/Tool/SubversionTool.py
@@ -188,7 +188,7 @@ class DiffFile:
   def toHTML(self):
     # Adding header of the table
     if self.binary:
-      return '<b>Binary File!</b><br><br><br>'
+      return '<b>Binary File or no changes!</b><br><br><br>'
     
     html = '''
     <table style="text-align: left; width: 100%%;" border="0" cellpadding="0" cellspacing="0">
@@ -520,8 +520,8 @@ class SubversionTool(UniqueObject, Folder):
     trust_item_list, permanent = loads(b64decode(trust))
     return dict(trust_item_list), permanent
   
-  def diffHTML(self, file_path):
-    raw_diff = self.diff(file_path)
+  def diffHTML(self, file_path, revision1=None, revision2=None):
+    raw_diff = self.diff(file_path, revision1, revision2)
     return DiffFile(raw_diff).toHTML()
   
   # Display a file content in HTML
@@ -652,11 +652,11 @@ class SubversionTool(UniqueObject, Folder):
     return client.ls(path)
 
   security.declareProtected('Import/Export objects', 'diff')
-  def diff(self, path):
+  def diff(self, path, revision1=None, revision2=None):
     """Make a diff for a file or a directory.
     """
     client = self._getClient()
-    return client.diff(path)
+    return client.diff(path, revision1, revision2)
 
   security.declareProtected('Import/Export objects', 'revert')
   def revert(self, path):