+##############################
+ def do_diff (self):
+ self.init_module_dir()
+ self.revert_module_dir()
+ self.update_module_dir()
+ spec_dict = self.spec_dict()
+ self.show_dict(spec_dict)
+
+ # side effects
+ tag_name = self.tag_name(spec_dict)
+ old_svn_tag_name = self.tag_name(spec_dict, old_svn_name=True)
+
+ # sanity check
+ tag_name = self.check_tag(tag_name, need_it=True, old_svn_tag_name=old_svn_tag_name)
+
+ if self.options.verbose:
+ print 'Getting diff'
+ diff_output = self.repository.diff_with_tag(tag_name)
+
+ if self.options.list:
+ if diff_output:
+ print self.name
+ else:
+ thename=self.friendly_name()
+ do_print=False
+ if self.options.www and diff_output:
+ self.html_store_title("Diffs in module %s (%s) : %d chars"%(\
+ thename,self.last_tag(spec_dict),len(diff_output)))
+
+ self.html_store_raw ('<p> < (left) %s </p>' % tag_name)
+ self.html_store_raw ('<p> > (right) %s </p>' % thename)
+ self.html_store_pre (diff_output)
+ elif not self.options.www:
+ print 'x'*30,'module',thename
+ print 'x'*20,'<',tag_name
+ print 'x'*20,'>',thename
+ print diff_output